如何解决mailto乱码的问题
1
如何解决 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 中编码/解码方法
-
Upload
jun-sun -
Category
Technology
-
view
1.659 -
download
3
Transcript of 如何解决mailto乱码的问题
如何解决 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中编码/解码方法