Нужна помощь по вопросу связанному с кодировкой mysql.
При переносе базы в пределах хостинга буквы "И" и "ш" выводятся на сайте в виде иероглифов.
Пример – базу с mydrone.ru перенесли на dev.mydrone.ru/
Оба сайта на modx revo
При создании бэкапа кодировка не менялась, база не исправлялась.
Бэкап с ключом latin1 дает знаки вопроса.
Помогает только переименования запросами:
UPDATE `modx_site_tmplvars` SET `description` = REPLACE(
`description`,
CONCAT( CHAR(209), CHAR(63) ),
CONCAT( CHAR(209), CHAR(136) )
);
UPDATE `modx_site_tmplvars` SET `description` = REPLACE(
`description`,
CONCAT( CHAR(208), CHAR(63) ),
CONCAT( CHAR(208), CHAR(152) )
);
Это долго - для каждого поля надо проделать и не факт, что ничего не забудешь.
Обработка бэкапа perl не помогает:
perl -pi -e "s|\xD1\x3F|\xD1\x88|g" modx2_30012012.sql
perl -pi -e "s|\xD0\x3F|\xD0\x98|g" modx2_30012012.sql
Кодировка сервера:
SHOW VARIABLES LIKE 'character\_set\_%';
Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database cp1251
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8
Что делать в такой ситуации