狠狠撸

狠狠撸Share a Scribd company logo
如何解决 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 中编码/解码方法

More Related Content

如何解决尘补颈濒迟辞乱码的问题

  • 1. 如何解决 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 中编码/解码方法