我希望在mailto:email链接中添加一些中文字符。
我试过
<a href="mailto:email@address.com?subject=调查 / Inquiry">Email</a>
但是当我点击链接时,Outlook主题行显示:
è°æ查亨德森/查询
我也试过
<a href="mailto:email@address.com?subject=调查 / Inquiry">Email</a>
但我得到与上面相同的结果。
我意识到这可能是一个Outlook问题,但我有兴趣找到实现此功能的正确方法。
答案 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的默认字符集一致。