MailTo 链接中的重音字符损坏
我正在尝试创建一个 mailto 链接,其中包含法语重音字符作为主题和电子邮件正文。 HTML 和 URI 编码字符都不起作用。这是我的代码:
<a href="mailto:%20?subject=ce%20titre%20est%20cass%C3%A9.&body=travaux%20deja!%20cesser%20d'%C3%AAtre%20t%C3%AAtu">SEND EMAIL</a>
没有 URI 编码时会出现相同的结果:
<a href="mailto:?subject=ce titre est cassé&body=travaux deja! cesser d'être têtu">SEND EMAIL</a>
无论我如何操作,新电子邮件都会以损坏的字符打开。 URI 编码的空格和换行符工作正常,但任何非 ANSI 的内容都会被破坏。我应该注意,我正在 MS Outlook 2007 的英语和法语版本中进行测试。有人知道如何让它工作吗?
I'm trying to create a mailto link that contains french accented characters as the subject and email body. Both HTML and URI encoding the chars does not work. Here is my code:
<a href="mailto:%20?subject=ce%20titre%20est%20cass%C3%A9.&body=travaux%20deja!%20cesser%20d'%C3%AAtre%20t%C3%AAtu">SEND EMAIL</a>
Same result occurs without URI encoding:
<a href="mailto:?subject=ce titre est cassé&body=travaux deja! cesser d'être têtu">SEND EMAIL</a>
No Matter how i do it, the new email opens up with the broken characters. URI encoded Spaces and line-breaks work fine, but anything that is not ANSI is broken. I should note that I am testing in both english and french versions of MS Outlook 2007. Anyone know how to get this to work?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在 IE 8 中它是一个设置选项。
工具->选项->先进的。在“国际”下,选中“对 mailto 链接使用 UTF-8”选项。
在 Windows XP 下,此设置默认处于禁用状态。
在 Windows 7 下,它默认启用。
希望这有帮助
In IE 8 its an setting option.
Tools -> Options -> Advanced. Under International check the option "Use UTF-8 for mailto links".
Under Windows XP this setting is disabled by default.
Under Windows 7 its enabled by default.
Hope this helps
邮件标头中的所有内容(包括主题)都必须根据此 RFC 进行 MIME 编码,
http:// www.ietf.org/rfc/rfc2047.txt
执行此操作并不简单,但您可以找到大多数语言的代码来处理它。
正确编码的文本如下所示,
编辑:尝试此操作看看是否是您想要的,
将电子邮件替换为您的地址。
Everything in mail header (including subject) must be MIME-encoded according to this RFC,
http://www.ietf.org/rfc/rfc2047.txt
It's not trivial to do this but you can find code to handle it in most languages.
The properly encoded text looks like this,
EDIT: Try this to see if it's what you want,
Replace email with your address.
知道了!这可能是也可能不是 Microsoft Outlook/Entourage 中的错误。我将默认邮件阅读器更改为 Mail.app,它与 urlencoding 配合得很好。该(可能)错误似乎仅影响示例中的 2 个带重音的 e 字符之一。也许 Outlook/Entourage 未正确处理百万字节 UTF8 字符?
Got it! This may or may not be a bug in Microsoft Outlook/Entourage. I changed my default mail reader to Mail.app and it works beautifully with urlencoding. The (maybe) bug only appears to affect one of the 2 accented e characters in your example. Perhaps Outlook/Entourage is not handling miltibyte UTF8 chars correctly?
例如,使用 mootools(但可能是另一个框架,甚至是“原始”javascript),我通常会这样做,并且它可以在 mac/pc 上与主要浏览器/客户端一起使用:
再见!
For example, with mootools (but could be another framework or even 'raw' javascript), I usually do this, and it works mac/pc with the main browsers/clients:
Bye!