HOWTO: Как решить проблему ломаной кодировки

Обсуждение CMS Made Simple в России.

Moderator: iturbay

Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am
Location: Russia, Yekaterinburg

Re: HOWTO: Как решить проблему ломаной кодировки

Post by Fenik17 »

А зачем делать инсталл? Надо просто файлы заменить.
User avatar
Robur
Forum Members
Forum Members
Posts: 86
Joined: Wed Mar 11, 2009 10:41 am
Location: Russia, Kazan

Re: HOWTO: Как решить проблему ломаной кодировки

Post by Robur »

Fenik17 wrote:А зачем делать инсталл? Надо просто файлы заменить.


Так с того всё и началось, что заменил....
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am
Location: Russia, Yekaterinburg

Re: HOWTO: Как решить проблему ломаной кодировки

Post by Fenik17 »

Стоит проверить, какая реально кодировка у таблиц в базе.
Еще попробовать создать простой html-файл в utf-8 и посмотреть, в каком виде он откроется из корня, где index.php.
User avatar
Robur
Forum Members
Forum Members
Posts: 86
Joined: Wed Mar 11, 2009 10:41 am
Location: Russia, Kazan

Re: HOWTO: Как решить проблему ломаной кодировки

Post by Robur »

Fenik17 wrote:Стоит проверить, какая реально кодировка у таблиц в базе.
Еще попробовать создать простой html-файл в utf-8 и посмотреть, в каком виде он откроется из корня, где index.php.


Image
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am
Location: Russia, Yekaterinburg

Re: HOWTO: Как решить проблему ломаной кодировки

Post by Fenik17 »

Ну а насчет второго?
User avatar
Robur
Forum Members
Forum Members
Posts: 86
Joined: Wed Mar 11, 2009 10:41 am
Location: Russia, Kazan

Re: HOWTO: Как решить проблему ломаной кодировки

Post by Robur »

Fenik17 wrote:Ну а насчет второго?


Тоже дало кракозябры...

Однако, методом ненаучного тыка проблему решил, сам не понимая сути решения. В общем в файле config.php закоментил строку:

#$config['default_encoding'] = 'utf-8';


Часть текста сразу стала нормальной. Закракозябренными остались шапки сайдбаров и те тексты, которые брались не из баз, а из кода шаблона непосредственно... Подумав с минуту как бы это вылечить, решил тупо почистить кэш из админки и о чудо - тут же всё встало на место...

В общем, чую себя трёхлетним ребёнком, который потыкав кнопки на клавиатуре ломанул 300 значный пароль.....  ;D . Как бы без ума, но заработало....

Может гуру обьяснят в чём может быть суть проблемы, и почему сделав именно так всё получилось? У остальных, я так понимаю таких проблем не возникало?
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am
Location: Russia, Yekaterinburg

Re: HOWTO: Как решить проблему ломаной кодировки

Post by Fenik17 »

Robur wrote:
Fenik17 wrote:Ну а насчет второго?


Тоже дало кракозябры...


Значит загвоздка в настройках веб-сервера.
Sonya

Re: HOWTO: Как решить проблему ломаной кодировки

Post by Sonya »

Fenik17 wrote:Значит загвоздка в настройках веб-сервера.


Пункт 6, если в phpMyAdmin текстовые поля без кракозябр видны. Соедение к базе, наверняка, идет в latin-schwedish.
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am
Location: Russia, Yekaterinburg

Re: HOWTO: Как решить проблему ломаной кодировки

Post by Fenik17 »

Sonya wrote:Пункт 6, если в phpMyAdmin текстовые поля без кракозябр видны. Соедение к базе, наверняка, идет в latin-schwedish.


Причем здесь база? У него простой html-файлик в utf-8 выдается кракозябрами.
Sonya

Re: HOWTO: Как решить проблему ломаной кодировки

Post by Sonya »

Fenik17 wrote:Причем здесь база? У него простой html-файлик в utf-8 выдается кракозябрами.


Я с того места читала, где у него $config['default_encoding'] закоментировано было и все "в шоколаде" стало. Про простые файлы не видела. Если закомментировать $config['default_encoding'], то может быть чревато. После этого нужно обязательно создать новую страницу в CMSMS и проверить, в каком виде она сохранилась в базе. На 90% будут кракозябрами все новые страницы.
User avatar
Robur
Forum Members
Forum Members
Posts: 86
Joined: Wed Mar 11, 2009 10:41 am
Location: Russia, Kazan

Re: HOWTO: Как решить проблему ломаной кодировки

Post by Robur »

Sonya wrote:Пункт 6, если в phpMyAdmin текстовые поля без кракозябр видны. Соедение к базе, наверняка, идет в latin-schwedish.


Рекомендованное значение $config['set_names'] = true; выставлено уже давно. Не помогло.
User avatar
Robur
Forum Members
Forum Members
Posts: 86
Joined: Wed Mar 11, 2009 10:41 am
Location: Russia, Kazan

Re: HOWTO: Как решить проблему ломаной кодировки

Post by Robur »

Fenik17 wrote:Значит загвоздка в настройках веб-сервера.


У меня на хосте больше десятка сайтов, соответственно столько же виртуалок веб серверов... И на всех, кроме этого - "обновлённого" всё крутится превосходно и проблем с кодировками никогда и не было. Вот и боюсь все остальные обновлять... Хотя зарекался для таких вот целей всё тестить на пробном сайтике....

Кстати, напомню, изначальные данные - в домене matrosov.info крутяться два сайта (соответственно 2 движка симпла), которые используют ОДНУ базу, с таблицами отличающимися только префиксами. Так вот, непосредственно движок на matrosov.info  обновил - закракозябрило, а подпапка /ubuntu (matrosov.info/ubuntu) осталась с необновлённым движком - всё отлично как работало, так и работает.... Шаманьство  ;D.
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am
Location: Russia, Yekaterinburg

Re: HOWTO: Как решить проблему ломаной кодировки

Post by Fenik17 »

Robur wrote:У меня на хосте больше десятка сайтов, соответственно столько же виртуалок веб серверов... И на всех, кроме этого - "обновлённого" всё крутится превосходно и проблем с кодировками никогда и не было. Вот и боюсь все остальные обновлять...


Если статичная html-страница в utf-8 (правильно созданная, конечно) отдается клиенту кракозяблями, значит нужно проверять настройки этого самого виртуального сервера. Как обновление cms могло повлиять на них - не понятно, возможно был просто затерт файл .httaccess. Тогда сам сервер изначально был сконфигурирован на другую кодировку.
В файле конфигурации апача это может быть что-то вроде такого:


  Port 80
  ...
  AddDefaultCharset utf-8
  ...
 
    CharsetPriority utf-8 windows-1251 koi8-r ISO-8859-5 ibm866
    CharsetDefault utf-8
    CharsetSourceEnc utf-8
 


 
    ...
    php_value default_charset utf-8
    ...
 


morg0th
Forum Members
Forum Members
Posts: 11
Joined: Thu Oct 07, 2010 9:03 pm

Re: HOWTO: Как решить проблему ломаной кодировки

Post by morg0th »

очень помогает в .htaccess,  в начало файла прописать строку
php_value default_charset utf-8

исправляет все кривые кодировки в цмс
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am
Location: Russia, Yekaterinburg

Re: HOWTO: Как решить проблему ломаной кодировки

Post by Fenik17 »

Ах, если бы всё было так просто ;D
Locked

Return to “Russian - русский”