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 . "rn";
- $headers .= Content-type:
text/html; charset=utf-8 . "rn";- // Additional headers
- $headers .= To: Xinple <
< a href="mailto:xinple@example.com">
xinple@example.com</a>> . "rn";- $headers .= From: Admin <
<a href="mailto:admin@example.com">
admin@example.com</a>> . "rn";- $headers .= Reply-To: Xinple <xinple@example> . "rn";
- mail($to, $subject, $message, $headers);
以上就是PHP mail()函数乱码的具体处理办法,希望对有需要的朋友有所帮助。
永久地址:http://www.phprm.com/frame/php1003778.html
转载随意~请带上教程地址吧^^