Как изменить кодировку MailHandler?

Рейтинг: 1Ответов: 1Опубликовано: 19.02.2015

Здравствуйте, форумчане. :3

Имею файлы обратной связи:

  • contact.html
  • forms.js
  • MailHandler.php

Пишу страницу "обратная связь", используя скрипт MailHandler.
Ну и, собственно, в чём проблема: захожу на сайт, вписываю имя, Email, телефон и само сообщение. И что приходит на почту:

alt text

Т.е. файл MailHandler.php я уже перекодировал, и теперь он с кодировкой win-1251, поля "Имя, Email, Номер телефона, Сообщение" стали показываться нормально, но само значение (то, что я вбивал на сайте в форму) показывается некорректно, т.е. крякозябрами.

Где мне теперь менять ещё кодировку? Пробовал вроде и у .html файла, и у .js файла...
Спасибо!

Ответы

▲ 1

с кодировкой win-1251

Не нужно мучать дедушку. utf как раз создан для того, чтобы тексты отображались корректно вне зависимости от языка читателя.

$to = 'example@example.com';
$subject = 'Тема письма';
$message = 'Сообщение';
$headers = 'From: example@example.com'."\r\n"
.'Content-Type: text/plain; charset=utf-8'."\r\n";
mail($to, '=?utf-8?B?'.base64_encode($subject).'?=', $message, $headers);

Т.е. все дело в заголовке, хитром префиксе =?utf-8?B? и base64.