sda0 писал(а):после п.5 - запуска скрипта обновления, объявления и города появились в кривой кодировке.
phpMyAdmin показывает utf8 для таблиц и cp1251 для полей, и содержимое полей там тоже в кривой кодировке.
у меня mysql приходится держать default charset 1251
думаю это причина того что после обновления объявления в кривой кодировке?
тогда как сделать чтобы после коннекции доски к базе выполнялся set names utf8 ?
Внимание! Базы данных остаются в cp1251. Ничего конвертировать не надо. Запуска скрипта upgrade_to_4_3.php (который просто добавит пару новых таблиц для админки )вполне достаточно для того, чтобы доска 4.3 стала корректно работать с кодировкой cp1251. Еще раз: MySQL работает с cp1251, результат выводится в UTF8. Конвертация делается внутри MySQL автоматически. Чтобы это произошло, в settings.php должны быть вот такие настройки (именно так и никак иначе, эти строки есть по-умолчанию в новой версии settings.php):
/* -BOOL,QPLRU_STR_STNGS_MYSQL_ENC,QPLRU_STR_STNGS_MYSQL_ENC_DESCR,0 */ define('MYSQL_ENCODING', /* VB */ '
1' /* VE */);
/* -STR,QPLRU_STR_STNGS_MYSQL_NAMES,QPLRU_STR_STNGS_MYSQL_NAMES_DESCR,20 */ define('MYSQL_NAMES', /* VB */ '
utf8' /* VE */);
/* -STR,QPLRU_STR_STNGS_MYSQL_CHARSET,QPLRU_STR_STNGS_MYSQL_CHARSET_DESCR,30 */ define('MYSQL_CHARACTER_SET', /* VB */ '' /* VE */);
/* -STR,QPLRU_STR_STNGS_MYSQL_CLIENTENC,QPLRU_STR_STNGS_MYSQL_CLIENTENC_DESCR,20 */ define('MYSQL_CLIENT_ENCODING', /* VB */ '' /* VE */);
/* -STR,QPLRU_STR_STNGS_MYSQL_RESENC,QPLRU_STR_STNGS_MYSQL_RESENC_DESCR,30 */ define('MYSQL_RESULT_ENCODING', /* VB */ '' /* VE */);
/* -STR,QPLRU_STR_STNGS_MYSQL_CONNENC,QPLRU_STR_STNGS_MYSQL_CONNENC_DESCR,30 */ define('MYSQL_CONNECTION_ENCODING', /* VB */ '' /* VE */);
Доска уже обновлена добрым десятком покупателей, все корректно обновилось, проапгрейдилось и уже работает. Так что любые проблемы с вероятностью 99% в том, что вы не следовали нашим рекомендациям и инструкции. В любом случае, пишите, со всем разберемся.