我们在使用帝国cms的邮件功能时,例如订单通知邮件、后台群发邮件、注册验证邮件、密码找回的邮件等,如果我们发送的邮件很中文字符,有时会出现乱码,很多用户不明所以,我们往下看。
经过我们查看,这是发送邮件时没有对数据转码造成的。
首先我们找到 /e/class/SendEmail.inc.php 文件
搜索下面的代码(帝国cms7.2版本位于1630行):
折叠PHP 代码
- $mailer->Subject=stripSlashes($title);//标题
在上面增加
折叠PHP 代码
- $mailer->Subject = "=?UTF-8?B?".base64_encode($mailer->Subject)."?=";//增加部分
这样既可解决。如果帮你解决了问题,别忘了分享出去帮助更多的人。