Так-с, очень много проблем, связанные с кодировкой форума. В итоге у некоторых появляются “кракозябры” (непонятные спецсимволы и т.п.), а у некоторых вообще отсутствует язык на форуме.
Существует последовательность определения своих действий:
1. Используя PHPMyAdmin “залезть” в БД форума, и определить в какой кодировке находятся таблицы;
2. Определить кодировку Мускула (MySQL);
3. Предпринять действия к предотвращению проблемы.
Допустим, БД у нас в кодировке utf-8, а соединений мускула и его кодировка в ср1251.
Берем файл init.php с папки includes, находим там строчку (сразу после подключения):
PHP код:
{
vbulletin_demo_init_db();
}
И после этой строчки используем сия код:
PHP код:
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");
Все проблемы должны решиться.
Другая ситуация - БД в ср1251, Мускул в utf-8. Берем все тот же init.php, находим ту самую строчку:
PHP код:
{
vbulletin_demo_init_db();
}
И используем этот код:
PHP код:
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
Вот и все.
-------------------------------------------------
Внимание: Ниже - для версии 3.8! |
-------------------------------------------------
Найти:
PHP код:
// make $db a member of $vbulletin
Перед ней добавить:
PHP код:
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
Или
PHP код:
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");