这篇文章将为大家详细讲解有关PHP中 mail()函数出现乱码如何解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
创新互联建站专注于成都网站建设、成都网站制作、网页设计、网站制作、网站开发。公司秉持“客户至上,用心服务”的宗旨,从客户的利益和观点出发,让客户在网络营销中找到自己的驻足之地。尊重和关怀每一位客户,用严谨的态度对待客户,用专业的服务创造价值,成为客户值得信赖的朋友,为客户解除后顾之忧。
一般这种问题出现的原因是 mail() 函数的 header 参数里少了 Content-type: text/html; charset=utf-8,或者 charset 不是utf-8。很多国外的PHP程序一开始开发的时候没有吧中文考虑进去,所以中文使用的时候就会出现PHP mail()函数乱码。
先用函数base64_encode() 使用 MIME base64 对数据进行编码
标题字符串前加编码类型例如: =?UTF-8?B?
当然如果是gb2312的话就 =?GB2312?B?
标题字符串后加:?=
PHP mail()函数乱码的处理办法举例如下
$to = 'xinple@example.com';
$subject = "=?UTF-8?B?".
base64_encode('邮件标题')."?=";$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type:
text/html; charset=utf-8' . "\r\n";// Additional headers
$headers .= 'To: Xinple <
< a href="mailto:xinple@example.com">
xinple@example.com>' . "\r\n";$headers .= 'From: Admin <
admin@example.com>' . "\r\n";$headers .= 'Reply-To: Xinple <xinple@example>' . "\r\n";
mail($to, $subject, $message, $headers);
关于PHP中 mail()函数出现乱码如何解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。