Кодировка UTF-8 не работает для почтовой формы PHP
Я пытаюсь решить проблему чтения специальных символов , (плюс я не могу получить его на одном из Gmail) Я получаю что-то вроде этого"ל×"ו×" и это "Ч"Ч•Чђ\"ЧњЧ"Ч•", отправленное из моего блога WP, я перепробовал все способы, которые были объяснены в Переполнение стека, но вопросы могут быть конкретными, что не сработало для меня. Я не буду использовать для этого какой-либо плагин, поэтому мой предпочтительный код здесь:
<?php
.....................
if(!isset($hasError)) {
$emailTo = '[email protected], [email protected], [email protected] ' ;
$subject = $_POST['subject'];
$comments= $_POST['comments'];
$dge= $_POST['dge'];
$tve= $_POST['tve'];
$weli= $_POST['weli'];
$sendCopy = trim($_POST['sendCopy']);
$body = "Name: $ContactName \n\nEmail: $email \n\nComments: $comments \n\n Subject :$subject \n\n Number: $phone \n\n $dge / $tve /$weli";
mail($emailTo, ": הודעה" , $body, "Travel-Georgia" );
/////////////////
// set our boolean completion value to TRUE
$emailSent = true;
}
}
?>
.......
<form id="contact-us" method="post" accept-charset="utf-8"> .......</form>
1 answers
Вы должны закодировать содержимое своей электронной почты с использованием надлежащих методов кодирования электронной почты, прежде чем они будут правильно отображаться в электронных письмах.
На вашем месте я бы использовал функцию wp_mail() внутри WordPress для отправки электронных писем. Я не знаю, выполняет ли он все необходимые кодировки.
Другой альтернативой является использование SwiftMailer для отправки электронных писем. Он, безусловно, берет на себя все функции кодирования и другие обязанности, необходимые для отправки правильно закодированной электронной почты.