Проблема с кодировкой при обновлении с 2.2.1 до 3.2.3
#31
Отправлено 07 Февраль 2012 - 16:43
Kapralez, спасибо за ответ. Только что повторил все действия. Но все равно в мета - charset=windows-1251, и браузер выбирает ее естественно автоматом. В conf_global $INFO['sql_charset']='utf8'. Если ручками выставить юникод - все ок
#32
Отправлено 07 Февраль 2012 - 20:18
Alexander Alyokhin, не надо путать кодировку MySQL и кодировку Apache
#33
Отправлено 08 Февраль 2012 - 08:14
System setting - System- Server Environment - Document character set что написано? надо UTF-8
Сообщение изменено: Kapralez (08 Февраль 2012 - 08:15)
#34
Отправлено 04 Апрель 2012 - 17:34
У меня аналогичная проблема.
Переносил форум с 2-ой ветки в третью.
Конфиг файл не хочет принимать параметр utf8 ($INFO['sql_charset'] = 'utf8'
за то стабильно берет latin1 и cp1251
У меня весь сайт в знаках вопроса (кроме дизайна)
Если sql_charset убрать, и провести ручной запрос с админки получаю
Результаты ручного запроса
Variable_name Value
character_set_client latin1
character_set_connection latin1
character_set_database utf8
character_set_filesystem binary
character_set_results latin1
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
Если вписать cp1251 то
character_set_client cp1251
character_set_connection cp1251
character_set_database utf8
character_set_filesystem binary
character_set_results cp1251
character_set_server latin1
character_set_system utf8
А при прописки utf8 форум выдает ошибку... такую же как и человечка выше.
Да еще такой вопрос...
в /usr/share/mysql/charsets/ должен ли быть файл типа utf8.xml (ибо латин1 или сп1251 и другие присутствуют, но нет utf8)
Переносил форум с 2-ой ветки в третью.
Конфиг файл не хочет принимать параметр utf8 ($INFO['sql_charset'] = 'utf8'
У меня весь сайт в знаках вопроса (кроме дизайна)
Если sql_charset убрать, и провести ручной запрос с админки получаю
Результаты ручного запроса
Variable_name Value
character_set_client latin1
character_set_connection latin1
character_set_database utf8
character_set_filesystem binary
character_set_results latin1
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
Если вписать cp1251 то
character_set_client cp1251
character_set_connection cp1251
character_set_database utf8
character_set_filesystem binary
character_set_results cp1251
character_set_server latin1
character_set_system utf8
А при прописки utf8 форум выдает ошибку... такую же как и человечка выше.
Да еще такой вопрос...
в /usr/share/mysql/charsets/ должен ли быть файл типа utf8.xml (ибо латин1 или сп1251 и другие присутствуют, но нет utf8)
#35
Отправлено 04 Апрель 2012 - 17:50
Неправильно конвертировались бд, или не в утф8. Попробуйте сейчас переконвертировать данные в utf8, именно данные не просто сменив сравнение у таблиц. Если не получится, восстанавливайте бэкап, конвертируйте его если не в utf8 и выполните еще раз обновление, обязательно убедившись что в conf_global.php установлено $INFO['sql_charset'] = 'utf8';
http://ipbskins.ru/f...dpost__p__62462
Если sql_charset убрать, и провести ручной запрос с админки получаю
http://ipbskins.ru/f...dpost__p__62462
#36
Отправлено 04 Апрель 2012 - 18:02
БЛин...
МОжет я что пропустил.
Из старой 2.3 я слил базу.
Открыл ее в блокноте
в свойствах выбрал utf-8
сохранил.
В новое место влил...
Запустил скрипт
потом начал делать обновление admin/update
и все в вопросах
МОжет я что пропустил.
Из старой 2.3 я слил базу.
Открыл ее в блокноте
в свойствах выбрал utf-8
сохранил.
В новое место влил...
Запустил скрипт
<?php
include("conf_global.php");
$dbhost = $INFO['sql_host'];
$dbuser = $INFO['sql_user'];
$dbpass = $INFO['sql_pass'];
$dbname = $INFO['sql_database'];
header('Content-type: text/plain');
$dbconn = mysql_connect($dbhost, $dbuser, $dbpass) or die( mysql_error() );
$db = mysql_select_db($dbname) or die( mysql_error() );
$sql = "ALTER DATABASE `".$dbname."` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci";
$result = mysql_query($sql) or die( mysql_error() );
print "Database changed to UTF-8.\n";
$sql = 'SHOW TABLES';
$result = mysql_query($sql) or die( mysql_error() );
while ( $row = mysql_fetch_row($result) ){
$table = mysql_real_escape_string($row[0]);
$sql = "ALTER TABLE $table DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci, CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci";
mysql_query($sql) or die( mysql_error() );
print "$table changed to UTF-8.\n";
}
mysql_close($dbconn);
?>потом начал делать обновление admin/update
и все в вопросах
#37
Отправлено 04 Апрель 2012 - 18:21
Открыл ее в блокноте
в свойствах выбрал utf-8
сохранил.
в свойствах выбрал utf-8
сохранил.
Запустил скрипт
Не знаю умеет ли блокнот конвертировать данные или нет, но делать надо одним из вариантов а не конвертировать 10 раз подряд. Проще делать скриптом.
Потом:
обязательно убедившись что в conf_global.php установлено $INFO['sql_charset'] = 'utf8';
запускаете обновление.











