• 技术文章 >后端开发 >php教程

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

    2016-06-07 17:20:31原创348
    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() )

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP phpmailer 乱码
    上一篇:codeigniter中测试通过的分页类示例_php实例 下一篇:PHP删除数组中空值的方法介绍_php实例
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• PHP中使用Memache作为进程锁的操作类分享_PHP教程• PHP实现检测客户端是否使用代理服务器及其匿名级别,php代理服务器_PHP教程• php实现mysql数据库随机重排例子_PHP教程• php中unserialize返回false的解决方法,unserializefalse_PHP教程• 一个简单的PHP缓存思路的实现_PHP教程
    1/1

    PHP中文网