Список постов по тегу «utf-8»
Русский в заголовках Subj, To, From в фунции mail() на PHP @ Пт, 27 марта 2009, 11:37
Столкнулся с проблемой:
Если отправить письмо из PHP функцией
То текст придёт нормально, а тема письма закрокозябрится.
Всё потому, что заголовок письма должен быть US-ASCII и может быть кодирован в BASE64.
Так что решение оказалось элементарным:
По коду видно, что текст должен быть в UTF-8.
Таким образом можно кодировать и остальные поля в заголовке письма.
P.S. четвертый параметр
Если отправить письмо из PHP функцией
mail() вот так:<?php
mail("bla@foo.bar", "Заголовок русскими буквами", "Русский текст");
То текст придёт нормально, а тема письма закрокозябрится.
Всё потому, что заголовок письма должен быть US-ASCII и может быть кодирован в BASE64.
Так что решение оказалось элементарным:
<?php
function codeMailHeader($text){
return '=?UTF-8?B?'.base64_encode($text).'?=';
}
mail("bla@foo.bar", codeMailHeader("Заголовок русскими буквами"), "Русский текст");
По коду видно, что текст должен быть в UTF-8.
Таким образом можно кодировать и остальные поля в заголовке письма.
P.S. четвертый параметр
mail() я опустил для кратости.