We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 38535
    • 1 Posts
    Нужна помощь по вопросу связанному с кодировкой 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

    Что делать в такой ситуации