неанглийские символы отображают проблему в gmail, Yahoo через класс phpMailer

Я использую phpMailer (с сегодняшней версии в GitHub), чтобы отправлять автоматические письма активации SMTP с моего [email protected].

Я попробовал это в Gmail и Yahoo. Оба интерпретировали символы, как показано ниже.

nice      unwanted (realized)
Ç    ->     Ç
ı    ->     Ä
ş    ->     Åž

почтовый процесс заказа:

  1. «вывеска«(имеет вид, utf-8 закодировано), затем
  2. «assess_from_sign.php«(чистый php без какой-либо команды кодирования. актуально
    процесс отправки или сбоя здесь), затем
  3. «страница информирования«(информирует пользователя о результате)

мое сообщение в теле письма начинается с Уважаемый $ _POST [‘username’]

Что я могу подать на $_POST['username'] переменная на страницеvalu_from_sign.php, поэтому даже неанглийские символы выглядят точно так же, как на их родном языке.

нота: все запросы перенаправляются на страницу index.php на моем сайте, и она имеет mb_internal_encoding("UTF-8"); Команда, которая применяется ко всем страницам.

С уважением

0

Решение

Важно, чтобы все аспекты кода были установлены на одну и ту же конкретную кодировку. Я рекомендую 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 полностью.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]