之前用PHPMailer帮人家开发了用于发邮件的网站,由于是英文客户,所以中文没怎么测试,最近反馈说 中文乱码!

其实,之前是有发现标题中会出现中文了乱码,已经通过相应的代码解决。

收到反馈之后,查看了html内容编码设置是utf-8应该没有问题,我又使用自己开发的系统发了一个邮件,中文显示正常。到这里我感觉是他们反馈的问题不对,是不是什么特例?

我正想着,无意中手机收到邮件通知,打开一看,中文全部乱码了。我滴妈呀,原来是网页全部显示正常,手机客户端显示乱码,从何下手呢??我的代码文件和邮件的html内容都是utf-8编码的。

---------------------------------最后发现问题如下-----------------------------------------

PHPMailer.class.php 类里面的默认编码是iso-8859-1.这应该是一个欧洲的编码,所以问题在这里,把默认编码改成utf-8, 然后代码里设置一下

$mail = new PHPMailer();
$mail->Charset='UTF-8′;

-----------------------------------------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() )

最新文章

  1. 。。。欢乐捕鱼App WeX5 连接打包代理服务失败,请检查代理服务地址是否正确。。。
  2. JavaScript学习12 JS中定义对象的几种方式
  3. 防止SVN冲突,Elipse资源同步介绍
  4. Win10如何开启IIS服务以及如何打开IIS管理器
  5. ACE的CDR中的字节对齐问题
  6. logstash5.x改变
  7. 图 - 从零开始实现by C++
  8. 题目1434:今年暑假不AC (项目安排类:结束时间快排,判断开始时间)
  9. 在 ASP.NET MVC 中创建自定义 HtmlHelper
  10. sql server Case when 的用法
  11. .NET的DTO映射工具AutoMapper
  12. HTML标签类型及特点
  13. Centos 安装boost库
  14. Angular 4 设置组件样式的几种方式
  15. JVM学习记录-垃圾回收算法
  16. ASP.NET实现头像剪切保存
  17. Swift 里 Array (一)内存结构
  18. As3截图转换为ByteArray传送给后台node的一种方法
  19. SELinux 关闭方法
  20. Serv-U FTP服务器安装及使用图解教程

热门文章

  1. hashlib 实现加密
  2. [题解](约数)BZOJ_1053_反素数
  3. [题解](背包)luogu_P4095 eden的新背包问题
  4. python入门之实例-商品选择
  5. 【排序】插入排序:最稳定:时间复杂度O(n^2)
  6. Linux的安装与配置
  7. codeforces 121 E. Lucky Array
  8. C语言指针系列 - 一级指针.一维数组,二级指针,二维数组,指针数组,数组指针,函数指针,指针函数
  9. 纪念一下我的第一个php扩展
  10. 微信程序开发系列教程(二)使用JavaScript给微信用户发送消息