Просмотр полной версии : Просблема с Мускулом
Уже неделю вожусь, некто нечего конкретно не сказал, востонавливаю форум из бэкапа, Ipb 2.1.7 бэкап брал через админку, всё работает ок но вот на форуме самом ????????????????? места текста , как сней справится ?
перекодируй в другой формат. к примеру из utf-8 в win-1251
В пхпмайадмине ставлю СРАВНЕНИЕ всякие не катит.
1) в файлиге бекапа ищи файлы лангуагес в заголовке смотри кодировку
2) посмотри на кодлировку твоего браузера))))
было такое, тока с булкой
сразу после коннекта к бд напиши php код.
mysql_query(\"SET NAMES CP1251\");
mysql_query(\"SET COLLATION_CONNECTION=CP1251_GENERAL_CI\");
тока слеши убери =|
В пхпмайадмине ставлю СРАВНЕНИЕ всякие не катит.
у каждой таблицы указывается своя кодировка, может она у тебя не совпадает с той что указана в сравнении
Вы знаете проблема в том что я снимал бэкап через админку форума , а не через phpMyAdmin
Tem, похоже тебе очень не повезло. У меня была такая проблема, востонавить не удалось. Всё в бд записалось в этих вопросительных знаках. Посмотри какую-нибудь таблицу, если там вопросительные знаки вместо слов, то прощай форум. :(
Joker-jar
16.11.2007, 06:51
Только вместо русских символов вопросы?У меня в phpbb2 была такая шняга. Вылечил так: выполнил поиск по текстам скриптов форума, нашел, где находится функции коннекта к БД:
mysql.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);
}
заменил на
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 ->
$this->db_connect_id = ($this->persistency) ? mysql_pconnect($this->server, $this->user, $this->password) : mysql_connect($this->server, $this->user, $this->password);
заменил на
$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");
и все стало работать
Нет в базе нету не однорго знака ?????????????? , эти знаки в выводе, а вот где мне найти такой файл в Ipb там немнога сэтим трудновато.
groundhog
16.11.2007, 14:20
Не знаю какая у тебя версия, но попробуй в файл class_dbmysql.php в определении метода connect() у класса db_driver после строк:
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;
}
вставить такие строчки:
mysql_query("SET NAMES CP1251", $this->connection_id);
mysql_query("SET COLLATION_CONNECTION=CP1251_GENERAL_CI", $this->connection_id);
groundhog
16.11.2007, 15:38
Ну тогда рецепт применим... Только бекап сделать не забудь изменяемого скрипта. Файл находится в дире ips_kernel.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot