4

我希望在 mailto: 电子邮件链接中添加一些中文字符。

我试过了

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

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

调查亨德森 / 查询

我也试过

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

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

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

4

6 回答 6

3

原始 URL 编码

要使用特殊字符对 mailto 链接/标准链接进行编码,您可以使用php 函数 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>

于 2012-11-27T12:04:19.177 回答
1

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

于 2009-09-15T13:57:27.693 回答
1

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

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

中文的主题是这样的,

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

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

于 2009-08-22T02:27:44.420 回答
1

对于评论 #1 中的文本,请启用“工具->选项->邮件格式->国际选项”->“启用 UTF-8 对 mailto: 协议的支持”

于 2011-06-27T17:13:25.517 回答
0

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

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

于 2009-08-17T16:22:39.417 回答
0

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

于 2012-06-12T05:10:55.607 回答