Просблема с Мускулом

Discussion in 'PHP' started by Tem, 13 Nov 2007.

  1. Tem

    Tem -

    Joined:
    5 Oct 2005
    Messages:
    557
    Likes Received:
    157
    Reputations:
    179
    Уже неделю вожусь, некто нечего конкретно не сказал, востонавливаю форум из бэкапа, Ipb 2.1.7 бэкап брал через админку, всё работает ок но вот на форуме самом ????????????????? места текста , как сней справится ?
     
    1 person likes this.
  2. cardons

    cardons Elder - Старейшина

    Joined:
    19 Jul 2005
    Messages:
    779
    Likes Received:
    324
    Reputations:
    83
    перекодируй в другой формат. к примеру из utf-8 в win-1251
     
    2 people like this.
  3. Tem

    Tem -

    Joined:
    5 Oct 2005
    Messages:
    557
    Likes Received:
    157
    Reputations:
    179
    В пхпмайадмине ставлю СРАВНЕНИЕ всякие не катит.
     
  4. Sn@k3

    Sn@k3 Elder - Старейшина

    Joined:
    13 Apr 2006
    Messages:
    1,000
    Likes Received:
    437
    Reputations:
    90
    1) в файлиге бекапа ищи файлы лангуагес в заголовке смотри кодировку
    2) посмотри на кодлировку твоего браузера))))
    было такое, тока с булкой
     
  5. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    сразу после коннекта к бд напиши php код.

    mysql_query(\"SET NAMES CP1251\");
    mysql_query(\"SET COLLATION_CONNECTION=CP1251_GENERAL_CI\");

    тока слеши убери =|
     
    #5 mr.The, 13 Nov 2007
    Last edited: 13 Nov 2007
  6. ant0ha

    ant0ha Elder - Старейшина

    Joined:
    22 May 2007
    Messages:
    130
    Likes Received:
    50
    Reputations:
    13
    у каждой таблицы указывается своя кодировка, может она у тебя не совпадает с той что указана в сравнении
     
  7. Tem

    Tem -

    Joined:
    5 Oct 2005
    Messages:
    557
    Likes Received:
    157
    Reputations:
    179
    Вы знаете проблема в том что я снимал бэкап через админку форума , а не через phpMyAdmin
     
  8. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Tem, похоже тебе очень не повезло. У меня была такая проблема, востонавить не удалось. Всё в бд записалось в этих вопросительных знаках. Посмотри какую-нибудь таблицу, если там вопросительные знаки вместо слов, то прощай форум. :(
     
  9. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    Только вместо русских символов вопросы?У меня в phpbb2 была такая шняга. Вылечил так: выполнил поиск по текстам скриптов форума, нашел, где находится функции коннекта к БД:

    mysql.php ->

    PHP:
            if($this->persistency)
            {
                
    $this->db_connect_id = @mysql_pconnect($this->server$this->user$this->password);
            }
            else
            {
                
    $this->db_connect_id = @mysql_connect($this->server$this->user$this->password);
            }
    заменил на

    PHP:
            if($this->persistency)
            {
                
    $this->db_connect_id = @mysql_pconnect($this->server$this->user$this->password);
            }
            else
            {
                
    $this->db_connect_id = @mysql_connect($this->server$this->user$this->password);
            }
            
    mysql_query("SET NAMES cp1251");
    mysql4.php ->

    PHP:
    $this->db_connect_id = ($this->persistency) ? mysql_pconnect($this->server$this->user$this->password) : mysql_connect($this->server$this->user$this->password);
    заменил на

    PHP:
            $this->db_connect_id = ($this->persistency) ? mysql_pconnect($this->server$this->user$this->password) : mysql_connect($this->server$this->user$this->password);
            
    mysql_query("SET NAMES cp1251");
    и все стало работать
     
  10. Tem

    Tem -

    Joined:
    5 Oct 2005
    Messages:
    557
    Likes Received:
    157
    Reputations:
    179
    Нет в базе нету не однорго знака ?????????????? , эти знаки в выводе, а вот где мне найти такой файл в Ipb там немнога сэтим трудновато.
     
  11. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Не знаю какая у тебя версия, но попробуй в файл class_dbmysql.php в определении метода connect() у класса db_driver после строк:

    PHP:
    if ($this->obj['persistent'])
            {
                
    $this->connection_id mysql_pconnect$this->obj['sql_host'] ,
                                                       
    $this->obj['sql_user'] ,
                                                       
    $this->obj['sql_pass'
                                                    );
            }
            else
            {
                
    $this->connection_id mysql_connect$this->obj['sql_host'] ,
                                                      
    $this->obj['sql_user'] ,
                                                      
    $this->obj['sql_pass'
                                                    );
            }
            
    if ( ! 
    $this->connection_id )
            {
                
    $this->fatal_error();
                return 
    FALSE;
            }
    вставить такие строчки:

    PHP:
    mysql_query("SET NAMES CP1251"$this->connection_id);
    mysql_query("SET COLLATION_CONNECTION=CP1251_GENERAL_CI"$this->connection_id);
     
  12. Tem

    Tem -

    Joined:
    5 Oct 2005
    Messages:
    557
    Likes Received:
    157
    Reputations:
    179
    Версия форума ipb 2.1.7
     
  13. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Ну тогда рецепт применим... Только бекап сделать не забудь изменяемого скрипта. Файл находится в дире ips_kernel.