使用 mailto 时 Outlook 不处理多字节字符: [英] Outlook not processing multi-byte characters when using mailto:
本文介绍了使用 mailto 时 Outlook 不处理多字节字符:的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有类似的问题 在这个问题中描述:我正在使用mailto"协议从 Java 打开默认邮件客户端(我现在绑定到 Java 5,很遗憾我不能使用 Desktop API).>
部分电子邮件包含日语文本.字符串已经被 UTF-8 编码如下:
private void email(String to, String subject, String body){String encodingSubject = URLEncoder.encode(subject, "UTF-8");String encodingBody = URLEncoder.encode(body, "UTF-8");String mailto = "mailto:" + to + "?subject=" + encodingSubject +"&body=" + 编码体;String cmd = "cmd.exe/c start "" "" + mailto + """;Runtime.getRuntime().exec(cmd);}
日语字符被正确编码为它们的 URL 等价物,所以平"变成了%E5%B9%B3",例如;但是,当 Outlook 打开新邮件窗口时,三字节字符被解释为三个不同的字符 - 因此%E5%B9%B3"被解释为å¹³".
我相当确信问题出在 Outlook 上,因为以下 HTML 代码段产生了相同的效果(因此似乎不允许在标签内使用 mailto,因此我无法直接提供链接,抱歉):
<身体><a href="mailto:foo@bar.com?subject=%E5%b9%B3">点我测试!</a>