我有一个 Web 应用程序,允许用户通过弹出电子邮件来邀请其他人。问题是对于法语用户,这封电子邮件包含重音字符,并且电子邮件无法在 Firefox 中打开,并出现以下错误:
错误:组件返回失败代码:0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMLocation.href]
我已经将其归结为如何对重音进行编码,并且可以使用以下代码轻松重现它:
document.location.href = 'mailto:?body=' + escape("à");
在 Firefox 中已损坏,但在 Chrome 和 IE 中有效。
document.location.href = 'mailto:?body=' + encodeURIComponent("à");
在 Firefox 中工作,但在使用 Chrome 和 IE 时在电子邮件正文中产生错误的字符(“Ô)
因此,我的问题是 - 我应该如何在 mailto 链接中编码特殊字符,以便它们可以跨浏览器工作?
谢谢!