пятница, 19 августа 2005 г.

Почта в нормальной кодировке

То что давно хотел сделать - наконец-то сделал. Теперь notify и moderator-иалы приходят в читабельной для моего The Bat! кодировке.

Что сделано? Дописана функция перекодировки из utf8 в win1251, и (если надо) в koi8-r.
Скачиваем (для версии WordPress 1.5.2)

Установка

    1. Скачиваем файл.

    2. Сохраняем первоначальный файл (/wp-includes/comment-functions.php) у себя на диске

    3. Заменяем файл на своём сервере на исправленный мною

    4. Проверяем в правильной ли кодировке пришло сообщение (сами себе пишем комментарий)

    5. Всё в порядке? Тогда пользуемся на здоровье.


Проблемы

    1. Если кодировка всё равно не та, пробуем раскомментировать строку номер 809
    // $out = convert_cyr_string ($out, 'w', 'k');



    2. Если не помогло, или помогло частично (поле from - нормально, а subject - нет, или наоборот). Тогда в зависимости от того что неправильно кодируется, наоборот комментируем соответствующие строки:
    667 или 668, и 717 или 718.



    3. Если опять что-то не работает - тогда уж не знаю в какой кодировке работает ваш почтовик :)



Примечания
На моём серваке (http://ouch.kiev.ua) - всё заработало в том виде, в каком вы скачиваете файл. На локальном апаче, мне пришлось раскомментировать 809-ю строчку.

В качестве плагина отдельно и удобно инсталлируемого - не оформлял, ибо не уверен, что на таком уровне внедрения в код, плагин может работать.

Благодарности
Всегда приятно если кто-то скажет спасибо, ну или хотя бы пнёт ногой :)

11 коммент.:

  1. огромное спасибо, все работает!

    тепаерь еще бы письмо русифицировать, в каком файле оно не знаете?

    ОтветитьУдалить
  2. Не понял, а что с кодировкой письма у вас не всё в порядке? Или почтовик не понимает, что такое UTF-8 кодировка тела письма?

    ОтветитьУдалить
  3. Ну а вобще знаю, конечно, в каком оно файле...
    В том же самом :))) $notify_message называется переменная. Вот её и нужно энкодить, раз есть такая необходимость.

    Сами справитесь? :)

    ОтветитьУдалить
  4. Это хак. Это не есть хорошо. Потому что обновить версию блога естественным путем будет невозможно. Дождемся, когда в WP сделают "крючки" для рассылок.

    ОтветитьУдалить
  5. Владислав, большое человеческое спасибо. Имхо, рунетовским любителям WordPress - этого очень не хватало.

    ОтветитьУдалить
  6. нет я имел ввиду перевод текста письма на русский, где этот текст хотел спросить

    ОтветитьУдалить
  7. Верно - хак. Поэтому использование "исправленной версии" - дело хозяйское

    ОтветитьУдалить
  8. Не за что :) пользуйтесь на здоровье. Но как справедливо заметил Антон Скоробогатов - это хак, и автоматического обновления блога естественным путём - не выйдет.

    ОтветитьУдалить
  9. Не понимаю о каком переводе идёт речь?
    В любом случае, вам надо разбираться именно с указанным файлом, все тексты касающиеся комментариев - там

    ОтветитьУдалить
  10. Присоединяюсь к Спасибам :)
    Все работает отлично.
    Благодарствуем...

    ОтветитьУдалить
  11. Пожалуйста :)
    Пользуйтесь на здоровье! :)

    ОтветитьУдалить