Php mail charset для каждого клиента и языка - PullRequest
0 голосов
/ 11 октября 2018

Мне нужно отправить несколько писем в php (версия 7) с помощью функции mail.Это мой код

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= "From: no-replay@XXX.XX";

mail("to", "subject", "message", $headers);

, где сообщение в формате html.

Я заметил следующие проблемы:

Если в моем сообщении есть специальный символ, такойкак è , и я конвертирую его, например & grave , в MS Outlook и в Hotmail я правильно вижу 'è', но в gmail я вижу строку '& grave'.Я попытался изменить кодировку с UTF-8 на iso-8859-1, и она работает на всех клиентах.Проблема в том, что если я использую символы без латинского алфавита, например японский, это не сработает.Я попытался отправить электронное письмо из MS Outlook в hotmail и gmail с символами японии, а не с, и заметил, что при использовании символов японского языка кодировка iso-2022-jp, когда я использую латинские символы, кодировка в почте заголовкаiso-8859-1 ...

Итак, каково лучшее решение, которое работает на всех клиентах и ​​на каждом языке?Как MS Outlook может изменить кодировку на основе содержимого сообщения?

Большое спасибо !!

...