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

Discussion in 'Кодировки, ошибки отображения (крякозябры)' started by bezik2009, Apr 11, 2013.

  1. Offline

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

    Joined:
    Apr 11, 2013
    Messages:
    2
    Likes Received:
    0
    Gender:
    Male
    Помогите разобраться с проблемой кодировки.
    После переноса сайта на другой хостинг часть элементов на сайте, включая шапку сайта, отображаются в виде ромбиков с "?" внутри, а также "содержимое" в админке отображаются иероглифами какими-то.
    Прошерстил 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

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

    Attached Files:

    • 1.jpg
      1.jpg
      File size:
      64.1 KB
      Views:
      3
    • 2.jpg
      2.jpg
      File size:
      54.1 KB
      Views:
      2
  2.  
  3. OlegM
    Offline

    OlegM Russian Joomla! Team Staff Member

    Joined:
    Apr 12, 2007
    Messages:
    4,310
    Likes Received:
    375
    Gender:
    Male
    А файл наверно был в UTF-8.

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

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

    По админке возможно поможет http://joomla-support.ru/thread/41282/
     
    Last edited: Mar 31, 2014
  4. Offline

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

    Joined:
    Apr 11, 2013
    Messages:
    2
    Likes Received:
    0
    Gender:
    Male
    Попробовал по ссылке совершить следующие действия:
    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 - сайт отображается с точностью наоборот. Там, где были вопросики, теперь нормально видный текст, все же остальное стало иероглифами.

    Я понимаю, что где-то конфликт двух кодировок, но вот понять где - знаний не хватает. :(
     
    Last edited by a moderator: Mar 31, 2014
  5. OlegM
    Offline

    OlegM Russian Joomla! Team Staff Member

    Joined:
    Apr 12, 2007
    Messages:
    4,310
    Likes Received:
    375
    Gender:
    Male
    Самое интересное, что уведено совсем ненужное. :D

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

    это language\russian.php
     

Share This Page

Loading...