如何解决mailto乱码的问题
TRANSCRIPT
![Page 1: 如何解决mailto乱码的问题](https://reader031.vdocuments.pub/reader031/viewer/2022012402/55a558781a28ab09258b469d/html5/thumbnails/1.jpg)
如何解决 mailto乱码的问题
通过HTML链接可以简单的调用邮件编辑器来发送 email.
例如
<a href="mailto:[email protected]?subject=中 E文">mailto</a>
点击打开的Outlook Express 6主题那显示的是乱码, WHY?
应该是编码问题, 试试 JavaScript的 encodeURI.
结果为%E4%B8%ADE%E6%96%87, 刷新打开依旧是乱码.
Google之 , 发现是 Outlook的问题 , 它只接受 GB2312之类的中文编码(猜想是中文版的
原因 ), 然而 encodeURI和 encodeURIComponent都只能将内容编码为 UTF-8, 因此对
Outlook无效 , 必须将内容编码为 GB2312.
在 Java中用URLEncoder.encode("中 E文", "GB2312");编码后得到%D6%D0E%CE%C4, 再放
入到HTML中即可解决乱码问题
<a href="mailto:[email protected]?subject=%D6%D0E%CE%C4">mailto</a>
参考(都没有提供完美的正确答案):
http://www.fishbecat.com/2010/12/mailto-outlook.html
http://topic.csdn.net/u/20100225/11/c076e552-6be9-4337-8748-52cbb642b69f.html
主要是参考 CSDN net_lover 给出的编码示例, 再对照 Java中编码/解码方法