用php发送html电子邮件包含特殊字符

时间:2014-07-07 08:54:58

标签: php email utf-8 special-characters

我需要发送带有HTML和特殊字符的电子邮件,例如è,à,ò..“我写这个:

$message = "
        <html>
            <head>
            <title>TITLE</title>
            </head>
            <body>
              &#224 &#232
            </body>
        </html>";

$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html;  charset=UTF-8' . "\r\n";
$headers .= 'From: NoReply <noreply@asd.com>' . "\r\n";
$headers .= "Reply-To: NoReply <noreply@asd.com>\r\n";
mail($email, $subject, $message, $headers);

现在,当我启动我的脚本时,在收到的电子邮件的gmail预览上是正确的(字母显示正确),但是当我打开电子邮件时,我看到“&amp;#224&amp;#232”,而不是相对的特殊字符。我该如何解决它(不使用外部库)?

2 个答案:

答案 0 :(得分:1)

对$ message使用utf8_decode()函数。

$message = "<html>
               <head>
                   <title>TITLE</title>
               </head>
               <body>
                  &#224; &#232;
               </body>
            </html>";

mail($email, $subject, utf8_decode($message), $headers);

答案 1 :(得分:0)

要在脚本中使用特殊字符,您可以尝试使用htmlspecialchars函数。