Я использую phpMailer (с сегодняшней версии в GitHub), чтобы отправлять автоматические письма активации SMTP с моего [email protected].
Я попробовал это в Gmail и Yahoo. Оба интерпретировали символы, как показано ниже.
nice unwanted (realized)
Ç -> Ç
ı -> Ä
ş -> Åž
почтовый процесс заказа:
utf-8
закодировано), затеммое сообщение в теле письма начинается с Уважаемый $ _POST [‘username’]
Что я могу подать на $_POST['username']
переменная на страницеvalu_from_sign.php, поэтому даже неанглийские символы выглядят точно так же, как на их родном языке.
нота: все запросы перенаправляются на страницу index.php на моем сайте, и она имеет mb_internal_encoding("UTF-8");
Команда, которая применяется ко всем страницам.
С уважением
Важно, чтобы все аспекты кода были установлены на одну и ту же конкретную кодировку. Я рекомендую UTF-8, поскольку вы уже начали использовать, который охватывает большинство символов, которые вам когда-либо понадобятся.
Ниже вы найдете «контрольный список» того, что должно быть установлено в UTF-8.
Заголовок PHP — его нужно поместить перед любым выводом в браузер и поместить поверх всех ваших страниц .php: header('Content-Type: text/html; charset=utf-8');
Заголовок HTML — он также должен быть на всех ваших страницах, содержащих HTML, и помещаться внутри <head>
теги: <meta charset=utf-8" />
PHPMailer Object — укажите кодировку вашего объекта PHPMailer, добавив
$mail->CharSet = 'UTF-8';
, где $mail
это сам объект.
Кодировка файла: сам файл должен быть преобразован в кодировку UTF8 (в частности, в UTF8 без спецификации). Это немного отличается от того, какой тип текстового редактора вы используете, но в Notepad ++ это Формат -> Преобразовать в UTF8 (без метки порядка байтов).
Могут быть и другие аспекты вашего кода, для которых необходимо установить кодировку UTF8 (базы данных и тому подобное), но это должно охватывать свойства mail.
Вы также можете ссылаться UTF-8 полностью.
Других решений пока нет …