解决使用php中mail函数发邮件主题乱码
2017-03-08 11:30:43
解决使用php中mail函数发邮件主题乱码
使用php中的Mail函数发送邮件,尽管邮件头加上了Utf-8编码的设置,但某种条件下,用户用邮件客户端软件,比如outlook express收到邮件之后,邮件的主题还有可能是乱码。解决此问题的方法如下:
mail函数的用法一般是:??mail($email,$subject,$contents,$headers);
在这一行之前肯定是有代码定义了$subject。
解决方法就是在定义$subject之后,在mail($email,$subject,$contents,$headers); 之前,增加一句
$subject = “=?UTF-8?B?”.base64_encode($subject).”?=”;
之后再发送,就可以解决邮件主题乱码的问题!
如果是内容乱码问题:
则在发送的头部加入
$headers = 'MIME-Version: 1.0' . "
";
$headers .= 'Content-type: text/html; charset=utf-8' . "
";
就行了
邮件里的内容换行用"
"."
"
如果是正则匹配的话明明看不到换行,但是就是去不掉换行的东西,那是因为页面里有默认的"/n"是看不到的,要把这个也去掉
发表评论: