PHP mail()可以';无法找到邮件内容中重音的解决方案

PHP mail()可以';无法找到邮件内容中重音的解决方案,php,email,mime,Php,Email,Mime,我已经尝试了很多关于它的解决方案,但仍然找不到一个有效的。电子邮件发送成功,但重音符号在html代码中 这是我的电子邮件内容代码: $to_APPLICATION_RECEIVER = "w@z.ca"; $from_APPLICATION_RECEIVER = "x@y.com"; $subject_APPLICATION_RECEIVER = "Subject"; $headers_APPLICATION_RECEIVER =

我已经尝试了很多关于它的解决方案,但仍然找不到一个有效的。电子邮件发送成功,但重音符号在html代码中

这是我的电子邮件内容代码:

        $to_APPLICATION_RECEIVER = "w@z.ca";
        $from_APPLICATION_RECEIVER = "x@y.com";
        $subject_APPLICATION_RECEIVER = "Subject";
        $headers_APPLICATION_RECEIVER = 'From: "people" <x@y.com> \r\n';
        $headers_APPLICATION_RECEIVER .= 'Reply-to: x@y.com \r\n';

        //define boundary
        $semi_rand = md5(time());
        $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

        //tell header about $mime_boundary
        $headers_APPLICATION_RECEIVER .= "\nMIME-Version: 1.0\n";
        $headers_APPLICATION_RECEIVER .= "Content-Type: multipart/mixed;\n";
        $headers_APPLICATION_RECEIVER .= " boundary=\"{$mime_boundary}\"";

        //Message section
        //$message = utf8_decode($message);
        $message_hed_APPLICATION_RECEIVER ="\n\n--{$mime_boundary}\n";
        $message_hed_APPLICATION_RECEIVER .="Content-Type: text/plain; charset=\"UTF-8\"\n";
        $message_hed_APPLICATION_RECEIVER .="Content-Transfer-Encoding: 8bit\n\n" . $message . "\n\n";
        $message_hed_APPLICATION_RECEIVER .= "--{$mime_boundary}\n";
$to_应用程序_接收器=”w@z.ca";
$from_应用程序_接收器=”x@y.com";
$subject\u APPLICATION\u RECEIVER=“subject”;
$headers\u APPLICATION\u RECEIVER='From:“people”\r\n';
$headers\u APPLICATION\u RECEIVER.='回复:x@y.com\r\n';
//界定边界
$semi_rand=md5(time());
$mime_boundary=“==Multipart_boundary_x{$semi_rand}x”;
//告诉标题关于$mime\u边界
$headers\u APPLICATION\u RECEIVER.=“\n时间版本:1.0\n”;
$headers\u APPLICATION\u RECEIVER.=“内容类型:多部分/混合;\n”;
$headers\u APPLICATION\u RECEIVER.=“boundary=\”{$mime\u boundary}\”;
//消息部分
//$message=utf8\u解码($message);
$message\u hed\u APPLICATION\u RECEIVER=“\n\n--{$mime\u boundary}\n”;
$message\u hed\u APPLICATION\u RECEIVER.=“内容类型:text/plain;字符集=\“UTF-8\”\n”;
$message\u hed\u APPLICATION\u RECEIVER.=“内容传输编码:8位\n\n”$消息“\n\n”;
$message\u hed\u APPLICATION\u RECEIVER.=“{$mime\u boundary}\n”;
varèu dump显示的
$message
的内容是
“sfdfèè”
,但我收到的电子邮件内容是:
sfdfé&埃格拉夫î。有人能帮我吗?我在论坛上尝试了
utf8\u decode()
和许多其他主张,但仍然不起作用。谢谢大家的帮助。

如果您查看页面的源代码,您将看到您的字符串实际上包含html实体
var_dump()
将暗示这种情况如下:

string(27) "sfdféèî"
您可以使用以下方法将实体转换回UTF8:

html_entity_decode('sfdf&eacute;&egrave;&icirc;')
这将产生:

string(10) "sfdféèî"

也许可以尝试使用
html\u entity\u decode($str)…可能重复我出于安全目的使用的htmlentities(),使用html\u entity\u decode()不会取消HTMLenties()的效果?你说的是“安全目的”,但你似乎不明白这些目的是什么。您可能应该更多地阅读这些内容,并重新评估您的“安全”决策。在这个特定的上下文中,只要您不决定在某个时候将电子邮件的内容类型更改为html,就可以了。然后,无论您使用什么方法查看该数据,都不会将其解释为UTF-8。