我在html中使用了一个简单的mailto选项,这样每当用户点击mailto时,它就会创建一个包含主题和正文的预定义电子邮件。问题是,功能正常但在货币符号之前有一个特殊的字符 ,我无能为力的原因。
另外,奇怪的是,只有当我使用chrome和而不是firefox 时才会发生这种情况。
(从未在IE中测试过)
有关如何进行此操作的任何说明?
代码非常简单直接
<a id="body_0_contentcolumn_0_hypOutlook" href="mailto:?subject=test subject&body=Hi, how are you?%0A%0AI wanted to share a job I thought you might be interested in.Salary £15000.00- £25000.00%0A%0AYou can view more details and apply online here:www.apply.com">Outlook
</a>
请找下面的小提琴..
我正在使用outlook 2013和Chrome 33
答案 0 :(得分:3)
一切都与编码有关。
£
是字符编号0xA3
。当“正确”(即UTF-8)编码时,这将被转换为0xC2A3
- 巧合的是,你在那里有A3
,这意味着渲染的结果,£,看起来像它只是从一个地方获得了“随机”。
解决方案:正确编码£
。首先尝试£
,如果不起作用,请尝试%A3
。
答案 1 :(得分:0)
Per RFC 6068,“mailto:”链接是一系列ASCII字符。正文中的非ASCII字符必须由UTF-8表示,然后对其进行编码,然后对结果八位字节进行%编码。有意义的是,浏览器可能通过在“mailto:”链接中收敛非ASCII字符来尝试友好,但这也是一种不太常见的情况。报告针对Chrome的错误,但快速修复可能是自己执行UTF-8和%编码。