Список постов по тегу «русский язык»

Столкнулся с проблемой:

Если отправить письмо из 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() я опустил для кратости.