服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - phpmailer中文乱码问题的解决方法

phpmailer中文乱码问题的解决方法

2020-06-24 14:17PHP教程网 PHP教程

这篇文章主要介绍了phpmailer中文乱码问题的解决方法,需要的朋友可以参考下

1:打开phpmailer 核心文件 class.phpmailer.php , 将 public $CharSet = ‘iso-8859-1′; 改为 public $CharSet = ‘UTF-8′;

至于为什么要将'iso-8859-1′改为‘UTF-8',请google或百度一下'iso-8859-1′就清楚。

2:设置邮件的编码;

 

复制代码 代码如下:
$mail = new PHPMailer();
$mail->Charset='UTF-8′;

 

相信有不少朋友是设置成”GBK”或“GB2312”的,我开始也是,后来了解到Mail是国际化的,如果想在像Gmail等那样的国际化邮箱正确显示中文,请将编码设置为“UTF-8”;

3,:设置标题编码;

这里可能有人会问,都设置了邮件的编码了,还设置标题编码做什么。。。 如果您测试过多种邮箱,你会发现标题中文是乱码的,没错,即使您设置了 $mail->Charset=”UTF-8″;
既然学习php应该多看看php手册或留意php.net ,标题乱码的解决办法我是在php官网找到答案的 hhtp://.www.php.net/mail。
$mail->Subject =”信件标题”; 改为 $mail->Subject = “=?utf-8?B?” . base64_encode(“信件标题”) . “?=”;
“设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的主体。”(来自php手册 base64_encode() )

延伸 · 阅读

精彩推荐