很久之前听一位朋友讲过,使用UTF-8编码发送邮件,会有乱码的情况发生。近日为公司Programming支持多语言的网站,正好要使用UTF-8编码。网站有会员注册,查询表单等模块皆需要发送邮件给注册用户或者管理员。心里寻思着免不了要和这乱码问题起正面冲突了。

奇怪的是,项目一直顺利地进行的,虽然邮件中的中文在网页里查收确实是会乱码。但是用Outlook或者Foxmail收取之后在本地查看却很正常。哈,莫非友人所指的乱码便是如此?看来问题不大,我便将网站上传到Server交由另一组去测试了。

第二天,正当我悠哉游哉地在听歌看文章时,那边同事反馈过来说收到邮件会乱码。心下吃了一惊了,立马试了一下,果然,用Foxmail收到打开之后还是 一陀问号。循例Google了一翻,想看一下有没有人遇到过同样的问题,但没什么发现。之后又去dimc.net(Jmail的官网)的论坛晃了半天,也 没能解决问题。看来只有靠自己了。。。

经过两个小时不断地在Server上修改代码发送邮件测试,问题并无改善。

于是开始从本地电脑与Server上面的差异入手,先是发现jmail的版本不一致,便更新了Server的jmail版本。无效。感觉问题应该不是出在网站程序和 Jmail组件上。为了确定问题的关键,在邮件发送之前将已经赋给Jmail的内容输出,果然,在这里邮件的内容已经乱码。我的操作系统装的是简体中文 版,Server上面的是英文版,最后。尝试在区域与语言选项里面的高级,非unicode程序的语言 上面选用了中文,重启Server之后问题终于解决。。。