Проблемы с кодированием с помощью контактной формы PHP - PullRequest
2 голосов
/ 17 августа 2011

Я новичок в PHP, HTML и в программировании вообще. Я пытаюсь создать контактную форму с помощью PHP и HTML. Все работает нормально, и я могу получать электронные письма. За исключением одной вещи, если я пытаюсь заполнить форму на другом языке, В моем случае это иврит, Письмо, которое я получаю, написано на гибрише. Я сохранил HTML-файл с кодировкой UTF-8 и добавил метакод. проверил мою кодировку мировоззрения и проверил почту, которую я получаю с веб-интерфейсом, и это все еще фальшивка.

Есть идеи?

1 Ответ

1 голос
/ 19 августа 2011

Прежде всего, попробуйте "отослать" содержимое письма в браузер, а не отправлять его.

  • Если оно отображается правильно, у вас все в порядке с веб-сайта.
  • Если текст приходит из формы POST или GET, вам может потребоваться преобразовать его с помощью htmlspecialchars_decode (), см. http://www.php.net/manual/en/function.htmlspecialchars-decode.php

Затем вы можете позаботиться о форматеэлектронной почты.

Если вы отправляете электронную почту, вам необходимо установить правильные заголовки для электронной почты так же, как вы делаете для веб-сайта.Для UTF-8 вы должны сделать:

$headers = "From: ExRobot <robot@example.com>\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=utf-8\r\n";
$headers .="Content-Transfer-Encoding: 8bit";

Если ваш предмет также может включать иностранные языки, вы можете установить его на

"=?utf-8?B?".base64_encode($subject)."?="

Если это не поможет, опубликуйте полный образецнапишите здесь, как вы получите.это очень поможет понять, что не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...