Страница 1 из 1

Пропал русский текст в уведомлениях по электронной почте

СообщениеДобавлено: 05 мар 2014, 22:42
Kinga
Здравствуйте!
Помогите, пожалуйста, решить проблему.

PHPBB 3.0.12
PHP Version 5.3.6-13ubuntu3.9
Для отправки электронной почты используется локальная функция mail.

После обновления версий с 3.0.10 на 3.0.11 любые уведомления по email стали приходить без русского текста (кракозябры или вопросительные знаки тоже отсутствуют, видны только знаки препинания), а латиница отображается нормально.

Проблему обнаружили не сразу, поэтому допускаю, что она может быть связана и с какими-то изменениями на стороне сервера. Обновление форума до последней, 3.0.12, версии не помогло. Своих изменений в шаблоны писем не вносили, все в utf-8. В кешированных шаблонах русский текст отображается корректно.

СообщениеДобавлено: 06 мар 2014, 06:25
crash
в какой кодировке приходит письмо? Если выставить utf-8, что отображается тогда?

Re:

СообщениеДобавлено: 06 мар 2014, 13:34
Kinga
crash писал(а):в какой кодировке приходит письмо? Если выставить utf-8, что отображается тогда?

В заголовках письма - Content-Type: text/plain; charset=UTF-8
В почтовой программе - тоже UTF-8

Хочу еще добавить, что русский текст теряется только в теле письма (msg),
а в теме сообщения (subject) все хорошо...

Re: Пропал русский текст в уведомлениях по электронной почте

СообщениеДобавлено: 07 мар 2014, 00:49
Kinga
Помогло применение к телу письма функции base64_encode()

и замена заголовка:
Код: выделить все
Content-Transfer-Encoding: 8bit

на
Код: выделить все
 Content-Transfer-Encoding: base64