У меня есть контактная форма на моем веб-сайте, которая использует PHP для выполнения своей работы. Проблема в том, что когда вы отправляете сообщение, написанное кириллическими символами, я получаю только кучу вопросительных знаков.
Вот код этой формы ниже:
<?php header('Content-Type: text/html; charset=utf-8');
header('Content-Transfer-Encoding: 8bit');
if(isset($_POST['email'])){
$mailTo = "[email protected]";
$subject = "mail from web";
$body = "New message from web
<br><br>
FROM: ".$_POST['email']."<br>
NAME: ".$_POST['name']."<br>
SUBJECT: ".$_POST['subject']."<br>
COMMENTS: ".$_POST['message']."<br>";
$headers = "To: Ameli Cakes <".$mailTo.">\r\n";
$headers .= "From: ".$_POST['author']." <".$_POST['email'].">\r\n";
$headers .= 'Content-Type: text/HTML; charset=utf-8' . "\r\n";
$headers .= 'Content-Transfer-Encoding: 8bit'. "\n\r\n";
//envio destinatario
$mail_success = mail($mailTo, $subject, $body, $headers);
}
?>
Имейте в виду, что мои знания PHP очень ограничены, и я не являюсь автором этого фрагмента кода.
Я полагаю, что HTML страницы имеет соответствующий метатег, вы можете проверить его ниже:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
Сам файл PHP тоже закодирован как utf-8 (проверено с помощью notepad++).
Ниже приведен пример того, что происходит:
Я отправил через форму сообщение
Это не кириллический текст, теперь следует какой-то кириллический текст. Поздрави другар!
И я получаю
Это не кириллический текст, теперь следует какой-то кириллический текст. Поздрави другар!!
Я был бы очень признателен за любую помощь, которую вы можете мне оказать в решении этой проблемы, большое спасибо за ваше время на чтение этого.
PS: ИСПРАВЛЕНО!! проверьте приведенный выше код, чтобы увидеть, как он наконец сработал.