我有一个奇怪的问题。我正在使用Richard Heyes的rmail
班来发送邮件。此类始终按预期工作。现在我遇到了特殊字符的奇怪问题。特殊字符直到现在才成为问题。
我有:
$this->mailEncoding = 'UTF-8';
$email->setHeadCharset($this->mailEncoding);
$email->setTextCharset($this->mailEncoding);
$email->setHTMLCharset($this->mailEncoding);
在这种情况下,主题是一个字符串,如:
......ontétécceptée(s)
主题用作邮件主题(顶部),然后再次用作内容
这是Apple邮件中收到邮件的图片。
您看到内容正常。在主题中,été也可以,但是接受者不是。
现在当我进入:
......ontétéacceptétée(s)
我得到(它有效):
我尝试了几种组合。例如“à”有效。似乎只有“ée”才是问题
RAW:
00 : 56 6f 74 72 65 2f 76 6f 73 20 6d 61 6e 69 66 65 [Votre/vos manife]
10 : 73 74 61 74 69 6f 6e 73 28 73 29 20 6f 6e 74 20 [stations(s) ont ]
20 : c3 a9 74 c3 a9 20 61 63 63 65 70 74 c3 a9 65 28 [..t.. accept..e(]
30 : 73 29 2e [s).
答案 0 :(得分:0)
input file是有效的UTF-8,但这是您的邮件客户端读取的内容:
...
Subject: [...] acceptÃ=?UTF-8?Q?=A9?=e.
...
让我们尝试使用不同的编码来解释您的资源:
Votre/vos manifestations(s) ont été acceptée(s). // CP-1252
Votre/vos manifestations(s) ont été acceptée(s). // UTF-8
Ã
在字段正文中逐字记录,而U+00A9
是copyright symbol的代码点。我们无法确定,但是您是否对字符串执行了错误(您可以检查代码并附加任何转换吗?),或者它可能是MIME消息构建器的问题,正如我所了解的那样,是一些 rmail 库(但我找不到它,因此无法对其进行测试)