如何解决mailto乱码的问题

Preview:

Citation preview

如何解决 mailto乱码的问题

通过HTML链接可以简单的调用邮件编辑器来发送 email.

例如

<a href="mailto:a@a.com?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:a@a.com?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中编码/解码方法

Recommended