После переноса базы частично нарушена кодировка

Тема в разделе "Кодировки, ошибки отображения (крякозябры)", создана пользователем bezik2009, 11.04.2013.

  1. Offline

    bezik2009 Недавно здесь

    Регистрация:
    11.04.2013
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Мужской
    Помогите разобраться с проблемой кодировки.
    После переноса сайта на другой хостинг часть элементов на сайте, включая шапку сайта, отображаются в виде ромбиков с "?" внутри, а также "содержимое" в админке отображаются иероглифами какими-то.
    Прошерстил FAQ, различные темы на форумах... явного ответа, который бы помог, не нашел.

    В MyPHPAdmin:
    1. Сопоставление соединения с MySQL - cp1251_general_ci
    2. База импортировалась в кодировке cp1251_general_ci, так что теперь всем таблицам в колонке "Сравнение" присвоено значение cp1251_general_ci.
    3. В разделе "Операции" опция Сравнение также стоит в cp1251_general_ci

    В процессе поиска ответов и решений:

    1. Раскомментировал @mysql_query("SET NAMES... поменял utf8 на cp1251, добавил также строчки:
      @mysql_query( "set session character_set_server=cp1251", $this->_resource );
      @mysql_query( "set session character_set_database=cp1251", $this->_resource );
      @mysql_query( "set session character_set_connection=cp1251", $this->_resource );
      @mysql_query( "set session character_set_results=cp1251", $this->_resource );
      @mysql_query( "set session character_set_client=cp1251", $this->_resource );
    2. В файле .htaccess добавил строчку "AddDefaultCharset WINDOWS-1251"
    3. Пробовал перекодировать \public_html\language\russian.php из "ANSI" в "UTF", а также в /public_html/index.php комментить строки описанные ниже, но проблема решалась частично, поэтому откатил изменения.
      header( 'Expires: Mon, 26 Jul 1997 05:00:00 GMT' );
      header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
      header( 'Cache-Control: no-store, no-cache, must-revalidate' );
      header( 'Cache-Control: post-check=0, pre-check=0', false );
      header( 'Pragma: no-cache' );

    Проблема осталась.
    В самой базе в таблице jos_content также присутствуют иероглифы. Может в этом все дело? не знаю как привести их к нормальному виду.
    Сайт: dinasty.com.ua
    Joomla: 1.0.X
    Версия MySQL-клиента: 5.1.68

    Также прилагаю скриншоты.
     

    Вложения:

    • 1.jpg
      1.jpg
      Размер файла:
      64.1 КБ
      Просмотров:
      3
    • 2.jpg
      2.jpg
      Размер файла:
      54.1 КБ
      Просмотров:
      2
  2.  
  3. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 310
    Симпатии:
    375
    Пол:
    Мужской
    А файл наверно был в UTF-8.

    Да
    http://www.joomla-docs.ru/Локализация_русификация_и_кодировки в помощь.

    п. 3 - что за бред?

    По админке возможно поможет http://joomla-support.ru/thread/41282/
     
    Последнее редактирование: 31.03.2014
  4. Offline

    bezik2009 Недавно здесь

    Регистрация:
    11.04.2013
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Мужской
    Попробовал по ссылке совершить следующие действия:
    1. В .htaccess стояла строка:
      AddDefaultCharset windows-1251
      Заменил на:
      AddDefaultCharset windows-1251
      CharsetSourceEnc windows-1251
      CharsetDisable On
      Получил ERROR 500, откатил изменения обратно.
    2. Заменил:
      <meta http-equiv="Content-Type" content="text/html; .... />
      на:
      <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    3. В index.php явно добавил:
      header( 'Content-Type: text/html; charset=windows-1251' );

    Результат - без изменений.

    При этом, если открываю сайт в кодировке по умолчанию (UTF-8) - то сайт выглядит как на скриншоте 1, если же в Вид->Кодировка меняю на Win1251 - сайт отображается с точностью наоборот. Там, где были вопросики, теперь нормально видный текст, все же остальное стало иероглифами.

    Я понимаю, что где-то конфликт двух кодировок, но вот понять где - знаний не хватает. :(
     
    Последнее редактирование модератором: 31.03.2014
  5. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 310
    Симпатии:
    375
    Пол:
    Мужской
    Самое интересное, что уведено совсем ненужное. :D

    Я говорю - проблема с базой (если там иероглифы), т.к. неправильно импортировалась база (если она была правильной), а он в файлах кодировку выставляет. =O

    это language\russian.php
     

Поделиться этой страницей

Загрузка...