mb_encode_mimeheader
должен сделать это, как показано в примере:
mb_internal_encoding('UTF-8');
$name = '山本';
$email = 'yamamoto@example.com';
$addr = mb_encode_mimeheader($name, 'UTF-8', 'Q') . " <$email>";
Для лучшей совместимости вы должны установить заголовок Mime-Version: 1.0
, чтобы все почтовые клиенты понимали вы используете MIME-кодирование.
Конечные заголовки электронной почты должны выглядеть так:
To: =?UTF-8?Q?=E5=B0=81=E3=83=90=E3=83=BC?=
Subject: =?UTF-8?Q?=E3=81=93=E3=82=93=E3=81=AB=E3=81=A1=E3=81=AF?=
Mime-Version: 1.0
Отправляется как:
To: 山本
Subject: こんにちは