温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP中 mail()函数出现乱码如何解决

发布时间:2021-07-14 14:46:51 来源:亿速云 阅读:113 作者:Leah 栏目:编程语言

这篇文章将为大家详细讲解有关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()函数乱码的处理办法举例如下

  1. $to = 'xinple@example.com';  

  2. $subject = "=?UTF-8?B?".
    base64_encode('邮件标题')."?=";  

  3. $headers = 'MIME-Version: 1.0' . "\r\n";  

  4. $headers .= 'Content-type: 
    text/html; charset=utf-8' . "\r\n";  

  5. // Additional headers  

  6. $headers .= 'To: Xinple <
    < a href="mailto:xinple@example.com">
    xinple@example.com</a>&gt;' . "\r\n";  

  7. $headers .= 'From: Admin &lt;
    <a href="mailto:admin@example.com">
    admin@example.com</a>&gt;' . "\r\n";  

  8. $headers .= 'Reply-To: Xinple &lt;xinple@example&gt;' . "\r\n";  

  9. mail($to, $subject, $message, $headers); 

关于PHP中 mail()函数出现乱码如何解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI