1 (25.01.2008 11:44 отредактировано nobody)

Тема: Решения проблем с кодировками

[size=16]Проблема с кодировкой (вместо текста непонятная абракадабра). Что делать?[/size]

Прежде чем начать, важное замечание! Тестировать надо заново, каждый раз после внесения изменений, иначе не поймете, откуда взялась новая проблема и исчезла ли старая.

1) Возможно, нужно просто пересохранить некоторые файлы в нужной вам кодировке? Для этого нужно открыть все админ-скрипты в редакторе с поддержкой utf, пересохранить в нужной кодировке и перезалить. Таким же способом надо пересохранить все скрипты плагинов в директории /plugins. В зависимости от сборки набор пересохранямых файлов может меняться, поэтому здесь никакой конкретики.

2) Проверить в mysql.php наличие строки:

//@mysql_query("SET NAMES 'utf8'");

раскомментировать, поэксперементировать с параметром "SET NAMES", подставляя разные значения (utf-8, cp1251, windows-1251).

3) В файле common.php:

'lang_encoding'            =>    'utf-8',

utf сменить на windows-1251, или наоборот, в зависимости от вашего случая опять же.

4) Проверить, какой header content-encoding шлет сервер. Если не верный, то задаем принудительно. header.php, находите строку:

header('Pragma: no-cache');

после нее вставляете:

header('Content-type: text/html; charset=utf-8');

utf-8 или cp1251, как всегда, в зависимости от того, что вам требуется. Возможно придется добавить в include/functions.php, в функцию redirect тот же header

5) В .htacces прописать строку:

AddDefaultCharset utf-8

(или win-1251, в зависимости от того, что вам нужно). Или же можно прописать:

AddDefaultCharset Off

тогда браузеры будут на автомате использовать <meta ...charset...> страниц. Имейте ввиду, что это может быть запрещено хостером, если проблема с кодировками никак не хочет решаться, имеет смысл напрямую связаться с вашим хостером и требовать у него разрешения проблемы.

6) Проверить default charset и collation у таблиц в БД, выставить там нужную кодировку, если что-то не так.

7) Встречается похожая проблема, когда выпадает одна или несколько букв (обычно "ш" или "и"), и вместо нее выводится "?". В таком случае, нужно проверить в config.php, что тип БД не mysqli, а обычный mysql. Также в этом случае может помочь раскомментирование строки SET NAMES в mysql.php, описанное выше.

И последнее, при эксперементах может получиться так, что старые данные остаются в крякозябрах, но новые создаются уже нормально. Значит проблема решена. Старые записи можно восстановить с помощью бэкапа и конвертации.


Если ничего не помогло, можно еще немного почитать о проблеме с кодировками в связке php/mysql. Удачи! smile

PunBB.Ru ☭

Сайт nobody

Поделиться

2

Re: Решения проблем с кодировками

nobody пишет:

Если ничего не помогло, но справиться  с проблемой очень хочется, можно почитать еще.

Ссылка, ИМХО, не в тему. Уж лучше поиск по форуму слова "кодировка" давать. Проблемы с кодировками возникают у начинающих и/или неподготовленных, и фраза "WordPress" в статье по ссылке будет воспринята как подстава. С тем же успехом можно сразу к Лёне посылать. smile

Добавлено спустя     2 минуты   19 секунд:

nobody пишет:

вместо текста непонятная абракадабра

Будет полезно привести скриншоты абракадабры. UTF-ная выглядит всегда одинаково и узнаваемо.

Сайт Freeman

Поделиться

3 (25.01.2008 11:46 отредактировано nobody)

Re: Решения проблем с кодировками

Freeman пишет:

Ссылка, ИМХО, не в тему.

Просто довольно неплохо все разжевано, и, в целом, верно для PunBB, хотя согласен, что ссылка может отпугнуть начинающих, однако скорее всего, это не будет воспринято как "подстава", возможно просто не поймут "юмора" smile Freeman, есть еще варианты "куда послать"? smile А то ссылка на поиск, а тем более к Лёне обычно убивает всякий энтузиазм wink

Freeman пишет:

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

У меня таких как-то не завалялось на компьютере smile

Добавлено спустя     3 минуты   2 секунды:
Ну вот, нашел другую ссылочку, более общую, но там больше по mysql. Первое сообщение обновлено.

Добавлено спустя     12 минут   14 секунд:
Кстати, админы, может запостить это в фак лучше? Я создал отдельной темой, т.к. показалось, что проблемы с кодировками возникают так часто, что лучше отдельно повесить. Может выделить её? А то фак и так слишком длинный, я колесико устаю на мышке крутить )))

PunBB.Ru ☭

Сайт nobody

Поделиться

4

Re: Решения проблем с кодировками

nobody пишет:

есть еще варианты "куда послать"?

Есть. Но это будет уже самореклама. smile

У самого проблемы с кодировками если и возникли по мелочи, то быстро разобрался, а после выкладывания сборки до случая с Амелией не вкурил, что её можно рекламировать как однобайтовую и с русской админкой. smile

nobody пишет:

А то ссылка на поиск

Не просто на поиск, а в рамочке, как тут некоторые дают - она сразу по нужному слову ищет. Не знаю её мнемоники. Тьфу, BB-кода.

Сайт Freeman

Поделиться

5

Re: Решения проблем с кодировками

nobody пишет:

может запостить это в фак лучше?

запости в тему faq. тогда эту тему придется прибить. твой пост хорош, но, afaik, он не содержит новых фактов. просто сформулировано по-своему.

Сайт artoodetoo

Поделиться

6 (26.01.2008 01:27 отредактировано nobody)

Re: Решения проблем с кодировками

Move post пригодился бы для таких случаев. Вообще, этот мод из разряда маст хэв, имхо smile

nobody пишет:

я колесико

йа - колёсико lol ну надо было такое написать big_smile

PunBB.Ru ☭

Сайт nobody

Поделиться

7

Re: Решения проблем с кодировками

nobody пишет:

йа - колёсико

Устал, видимо. big_smile

Сайт Freeman

Поделиться