【问题标题】:Special Character when using the mailto: option使用 mailto: 选项时的特殊字符
【发布时间】:2014-07-09 18:21:38
【问题描述】:

我在我的 html 中使用了一个简单的 mailto 选项,这样每当用户点击 mailto 时,它就会创建一个带有主题和正文的预定义电子邮件。问题是,功能工作正常,但货币符号前有一个特殊字符 Â,我不知道可能是什么原因。
此外,奇怪的是,这仅在我使用 chrome 而而不是 firefox 时才会发生。 (从未在 IE 中测试过) 有关如何进行此操作的任何指示? 代码非常简单直接

<a id="body_0_contentcolumn_0_hypOutlook" href="mailto:?subject=test subject&amp;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>

请在下面找到小提琴..

Click here for Fiddle

我正在使用 Outlook 2013 和 Chrome 33

【问题讨论】:

    标签: javascript html google-chrome encoding mailto


    【解决方案1】:

    一切都与编码有关。

    £ 是字符号0xA3。当“正确”编码时(即在 UTF-8 中),它被转换为 0xC2A3 - 巧合的是,你在那里有相同的 A3,这意味着渲染的结果,£,看起来就像它刚刚获得了一个“随机”  无处不在。

    解决方案:正确编码£。先试试&amp;pound;,如果不行再试试%A3

    【讨论】:

    • 简直太棒了.. %A3 工作得很好。但是..这是什么编码?我尝试了 url、html 和 utf-8 编码.. 他们都没有返回 %A3 为 £。
    • %A3 是 iso-8859-1 字符集中的 url 编码。如果您只输入£,则确切的结果可能会根据您的源代码的编码方式而有所不同。
    【解决方案2】:

    根据RFC 6068,“mailto:”链接是一系列 ASCII 字符。正文中的非 ASCII 字符必须用 UTF-8 编码表示,然后对生成的八位字节进行 % 编码。浏览器可能会通过这种方式在“mailto:”链接中转换非 ASCII 字符来尝试变得友好是有道理的,但这也是一种不太常见的情况。报告一个针对 Chrome 的错误,但快速修复可能是自己进行 UTF-8 和 %-encoding。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-27
      • 2014-01-27
      • 2014-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多