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

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

Moderators: iturbay, wdwp

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 - русский”