mailto主题行中的中文字符

时间:2009-08-17 15:49:21

标签: html encoding html-encode

我希望在mailto:email链接中添加一些中文字符。

我试过

<a href="mailto:email@address.com?subject=调查 / Inquiry">Email</a>

但是当我点击链接时,Outlook主题行显示:

  

è°æ查亨德森/查询

我也试过

<a href="mailto:email@address.com?subject=&#35843;&#26597; / Inquiry">Email</a>

但我得到与上面相同的结果。

我意识到这可能是一个Outlook问题,但我有兴趣找到实现此功能的正确方法。

6 个答案:

答案 0 :(得分:3)

原始网址编码

要使用特殊字符对mailto链接/标准链接进行编码,您可以使用php function rawurlencode

如果您正在寻找在线工具,请尝试http://www.cafewebmaster.com/online_tools/rawurlencode

使用您的示例:

<a href="mailto:email@address.com?subject=调查 / Inquiry">Email</a>

会转换为:

<a href="mailto:email@address.com?subject=%E8%B0%83%E6%9F%A5 / Inquiry">Email</a>

答案 1 :(得分:1)

由于主题位于邮件标题中,因此无法知道您使用的是哪种编码。您需要使用此RFC中定义的MIME邮件头扩展名

http://www.ietf.org/rfc/rfc2047.txt

中文的主题看起来像这样,

Subject: =?GB2312?B?u7bTrbLOvNPDwLn61bm74Q==?=

但是现在越来越多的客户采用UTF-8编码。您可能也想尝试一下。

答案 2 :(得分:1)

这很麻烦但可能,here是一篇很好的文章,它讨论了理想世界的标准兼容方式和使用Internet Explorer的真实场景。

答案 3 :(得分:1)

对于评论#1中的文字,请启用“工具 - &gt;选项 - &gt;邮件格式 - &gt;国际选项” - &gt;“启用对mailto:protocol的UTF-8支持”

答案 4 :(得分:0)

我一直试图在主题行中放置非ASCII字符一段时间。底线是:它不能可靠地工作。

为什么不起作用的我(有限)理解是标准说电子邮件是7位ASCII。 MIME标准通过不同地编码电子邮件的内容来解决这个问题。但是:主题行不是内容的一部分。这是一个标题。

答案 5 :(得分:0)

因为outlook的默认字符集是gb2312,所以在对主题进行编码时,必须将中文字符翻译为gb2313,然后对其进行编码。 总之,你传递的字符集必须与outlook的默认字符集一致。