We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 32773
    • 118 Posts
    В общем выпил кучу пива и зачудил следущее:
    1. Бекап сайта  и базы с помощью модуля Мodbak и сливаем на localhost
    2. в  phpMyAdmin устанавливаем - Сопоставление соединения с MySQL: utf8_general_ci
    3. далее руки дрожали, голова не варила но всё таки:  база - выделил все таблицы - Уничтожить sad
    4: Выполнить Sql запросы по очереди:
    SET NAMES 'utf8'
    далее
    SET CHARACTER SET utf8
      для страховки:
    SET character_set_client = utf8;
    и 
    SET character_set_results = utf8;
    ещё
     SET character_set_connection = utf8;

    5. Для проверки выполнил :
    SHOW VARIABLES LIKE 'character_set%';
      и
    SHOW VARIABLES LIKE 'collation%';
      получилось следующее:
    character_set_client	utf8
    character_set_connection	utf8
    character_set_database	utf8
    character_set_filesystem	binary
    character_set_results	utf8
    character_set_server	cp1251
    character_set_system	utf8
    character_sets_dir	/usr/local/share/mysql/charsets/

    и
    collation_connection	utf8_general_ci
    collation_database	utf8_general_ci
    collation_server	cp1251_general_ci

    6. Берём предварительно сохранённый бэкап базы открываем с помощью akelpad сохраняем как UTF8 без BOM
    7. В редактируемой базе ищем и заменяем всё cp1251 на utf8
    8. сохраняем, открываем наш phpMyAdmin, Выполнить SQL запрос(ы) на нашу БД,  Или Месторасположение текстового файла: указываем на нашу отредактированую базу, молимся !
    9. если усё ок, то сливаем  хоста www/manager/includes/config.inc.php в нем заменяем
    $database_connection_charset = 'cp1251'; 
      на
    $database_connection_charset = 'utf8'; 
    и заливаем обратно.
    10. заходим в панель управления устанавливаем кодировку системы и язык на utf8 и руский utf8
    11. убиваем в www\assets\cache\ кешированые страницы
    12. ну хз, если ничё не забыл то уже должен быть виден нормальный результат
    13. притензий к 0.96 пока нет никаких
    14. неохота на чертовой дюжине отанавливатся  и навсякий в помощь http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html smiley
    фуухх кажись переехал на utf8
    А теперь самое главное,  вопрос - сколько пива я выпил и будет ли жить мой сайт?   wink
      • 33694
      • 742 Posts
      > ... будет ли жить мой сайт?

      А вы покажите свой сайт, посмотрим, скажем smiley
        • 31022
        • 328 Posts
        Все, я совершенно запутался с кодировками. Прописал все команды в базе, как сказал x3m4ik (за что ему большое спасибо, сам бы не допер, наверное). Изменил config, переделал базу. Теперь в браузере везде выдаются кракозябры, а браузер определяет кодировку как cp1251. Переключаешь на utf8 -- все нормально. На локалхосте все нормально без всяких переключений!

        Языки пользователей, оказывается задаются в таблице user_settings, причем на нее мало влияет (вообще не влияет) конфигурация из бэкэнда. Поставил там russian -- значит будет russian, ставь ты в конфигурации english или нет.

        Короче, я в полном расстройстве.
          • 33694
          • 742 Posts
          Теперь в браузере везде выдаются кракозябры, а браузер определяет кодировку как cp1251. Переключаешь на utf8 -- все нормально.

          Может <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

            • 31022
            • 328 Posts
            Нету.

            В менеджерском режиме есть как раз <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />, а на фронтэнде такой строчки нет. А кракозябры везде.
              • 33694
              • 742 Posts
              В менеджерском режиме есть как раз <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />, а на фронтэнде такой строчки нет.
              Так добавьте и на фронтэнде.

              Или я чего-то не понимаю, и проблема глубже?
                • 31022
                • 328 Posts
                >Так добавьте и на фронтэнде.

                В панели управления эта строчка есть. Толку нет: все равно кракозябры как во фронтэнде. На локалхосте у меня все работает без этого, сам браузер корректно определяет кодировку.

                Вот я сейчас переустановил всю систему с нуля: все удалил и поставил заново. Базу старую НЕ подгрузил. Только сменил язык на russian-utf8, (кодировка осталась utf8), текст сменился кракозябрами. Что не так работает? БД?
                  • 31022
                  • 328 Posts
                  А проблема с алиасами действительно обсуждается: http://modxcms.com/forums/index.php/topic,15170.0.html Говорят, что будет решена настолько быстро, насколько возможно. А пока идите на utf.
                    • 33694
                    • 742 Posts
                    Ну блин. Конкретно, что значит вот эта цитата:
                    Теперь в браузере везде выдаются кракозябры, а браузер определяет кодировку как cp1251. Переключаешь на utf8 -- все нормально.
                    Где вы что переключаете?
                    Текст приходит в UTF-8, но браузер пытается отобразить его в 1251 и поэтому всё киргудой выглядит? Или уже приходит всё киргудой?
                      • 31022
                      • 328 Posts
                      >Где вы что переключаете?
                      Текст приходит в UTF-8, но браузер пытается отобразить его в 1251 и поэтому всё киргудой выглядит? Или уже приходит всё киргудой?

                      Итак. Я переделал БД: collation: utf8_general_ci, саму базу пересохранил в utf8, заменил все cp1251 на utf8 и залил через phpMyAdmin, выставив кодировку файла utf8. В столбце Collation напротив каждой таблицы и внизу стоит utf8_general_ci. Переставил в конфиге системы Русский-ЮТФ8 и ЮТФ-8 соответственно и поставил utf8 в переменную $database_connection_charset.

                      Все. Весь админский интерфейс системы (кроме дерева) показывается кракозябрами. Дерево и фронтэнд показываются корректно (по-русски), однако в браузере кодировка определяется как cp1251. Т.е. нажимаю Вид->Кодировка а там 1251. А должна быть utf8, проверено локалхостом. На локалхосте делал ровно те же операции, что и на хостинге.

                      Так вот.

                      UPDATE Сейчас проверил config.inc.php, там была utf8_general_ci, сменил на utf8 -- теперь все кракозябрами, кроме альтов у картинок -- суть таблицы БД с шаблонами. Даже древо в админке.

                      UPDATE2 Почистил кэш -- теперь ВСЕ отображается некорректно.