PHP mail()可以';无法找到邮件内容中重音的解决方案
我已经尝试了很多关于它的解决方案,但仍然找不到一个有效的。电子邮件发送成功,但重音符号在html代码中 这是我的电子邮件内容代码: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 =
$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éèî')
这将产生:
string(10) "sfdféèî"
也许可以尝试使用html\u entity\u decode($str)代码>…可能重复我出于安全目的使用的htmlentities(),使用html\u entity\u decode()不会取消HTMLenties()的效果?你说的是“安全目的”,但你似乎不明白这些目的是什么。您可能应该更多地阅读这些内容,并重新评估您的“安全”决策。在这个特定的上下文中,只要您不决定在某个时候将电子邮件的内容类型更改为html,就可以了。然后,无论您使用什么方法查看该数据,都不会将其解释为UTF-8。