Значит так. Исходные позиции - Drupal 5.1, PHP 4.4.4, MySQL 4.1.21 (база в кодировке utf8_general_ci), Библиотека GD bundled (2.0.28 compatible), Библиотека Unicode PHP расширение Mbstring, Веб-сервер - Apache/1.3.37 (Unix) mod_fastcgi/2.4.2 mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.28 OpenSSL/0.9.7a PHP-CGI/0.1b.
Для локализации использовал перевод от vadbars'а. После регистрации пользователя на почту приходит письмо с _корректно читаемым_ заголовком, а в теле письма жуть.
Собственно жуть:
ÐлагодаÑим ÐÐ°Ñ Ð·Ð° ÑегиÑÑÑаÑÐ¸Ñ Ð½Ð° ÑайÑе somedomain.info. ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑейÑÐ°Ñ Ð²Ð¾Ð¹Ñи на http://somedomain.info/user иÑполÑзÑÑ ÑледÑÑÑие ÑÑеÑнÑе даннÑе:
Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ: someuser
паÑолÑ: somepassword
ÐÑ Ñак же можеÑе войÑи, нажав на ÑледÑÑÑÑÑ ÑÑÑÐ»ÐºÑ Ð¸Ð»Ð¸ ÑкопиÑовав ÐµÑ Ð² адÑеÑнÑÑ ÑÑÑÐ¾ÐºÑ Ð±ÑаÑзеÑа:
И так далее. В header'е письма имеем:
To: user@somedomain.com
Subject: =?UTF-8?B?0KPRh9C10YLQvdGL0LUg0LTQsNC90L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyB2b3ZhbmJvINC90LAg0YHQsNC50YLQtSBzbGVnLW9ubGluZS5pbmZv?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8Bit
X-Mailer: Drupal
Errors-To: info@somedomain.info
Reply-To: info@somedomain.info
From: info@somedomain.info
X-Identified-User: {740:host.somehosting.com:someuser:somedomain.net} {sentby:program running on server}
В чем суть? Покопался в исходниках, почитал форумы, облазил drupal.org и drupal.ru - внятного ответа не нашел... Подскажите пожалуйста... Заранее благодарен!
Комментарии
а если подправить письмо? Переписать его руками и провериить?
На странице admin/user/settings текст сообщения показывается нормально?
Тогда рискну предположить, что sendmail у провайдера настроен на кодировку cp1251.
А "жуть" - это результат utf-8, прочитанного как cp1251 (ну, или чего то подобного - см. статью в Википедии с определителем ошибочных перекодировок).
Такая же проблема. В яндексе сообщения с друпала отображаются корректно, а в гугле - тема по русски, а сообщение кракозябрами.
Что значит "sendmail у провайдера настроен на кодировку cp1251"?
В друпале я же не указываю ничьих smtp-серверов... Признаться, вообще не очень понимаю, как шлются письма из друпала.
У меня есть арендованный сервер, на котором стоит домен с хостингом с друпалом. Неужели засада с кодировкой решается на уровне сервера?