Кодировка 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>
Author: Zistoloen, 2014-03-20

1 answers

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

На вашем месте я бы использовал функцию wp_mail() внутри WordPress для отправки электронных писем. Я не знаю, выполняет ли он все необходимые кодировки.

Другой альтернативой является использование SwiftMailer для отправки электронных писем. Он, безусловно, берет на себя все функции кодирования и другие обязанности, необходимые для отправки правильно закодированной электронной почты.

 2
Author: Tero Kilkanen, 2014-03-21 00:10:57