之前收到的一个订单邮件里,产品表示代数的罗马数字在outlook中不显示……经过简单排查,原来网站程序对邮件正文进行了重新编码:
mb_convert_encoding($str, 'JIS', 'UTF-8'); //将UTF-8编码内容的正文重新编码成JIS日文编码
将JIS修改成UTF-8之后,在网站上看正常了,罗马数字可以正常显示,但是收到的邮件是乱码。
后来查看了邮件原文信息,才发现,编码不对。
全部改成UTF-8就Ok了。
原来还怀疑是不是邮件服务器配置的问题,后来想着是否网站程序的设置问题,最后总算找到了网站的邮件发送php文件,将里面的To、From、Subject、Body都改成了UTF-8,OK了。