iphone本机邮件客户端中preheader中的编码问题



我在iPhone 5的preheader中遇到了特殊字符问题。当我发送下面显示的电子邮件(代码和标题取自hotmail网络客户端)时,它在主题和正文中都显示了正确的特殊字符(æøå),然而,当它显示在预标题中时,它会显示吗?所以对编码的某种不正确的解释。

只有当使用本机邮件客户端在iPhone(在iphone5上测试)中打开电子邮件时,并且只有当它链接到hotmail帐户时,才会出现此问题。如果它被发送到任何其他帐户,例如gmail,并在同一客户端中打开,它就会正确呈现。这个问题已经在三款不同的iPhone上重现(其中两款正在运行7.1.2我不知道最后一款在运行什么)。

在这里显示的示例中,字符是html实体,在其他测试中,我尝试过使用实际字符,结果相同。我也尝试过不使用元标头,结果仍然一样。

这个例子是我所能做的最基本的例子,我用更现实的电子邮件进行了测试,发现了完全相同的问题。

其他人见过类似的问题吗?或者有人知道是什么原因导致了这个问题吗?

Subject: =?utf-8?B?w6bDuMOl?=
Content-Type: multipart/mixed; 
    boundary="----=_Part_434_1665025495.1410355480247"
------=_Part_434_1665025495.1410355480247
Content-Type: multipart/alternative; 
    boundary="----=_Part_435_224090408.1410355480247"
------=_Part_435_224090408.1410355480247
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
=E6=F8=E5 ABC Webcopy text =09
[image]
Header =09
text =09
[image]
Header =09
text =09
[image]
Text =09
Unsubscribe text =09
------=_Part_435_224090408.1410355480247
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 7bit
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd" encoding="UTF-8">
<html encoding="UTF-8">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta name="viewport" content="width=device-width">
  <meta name="format-detection" content="telephone=no">
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<body>
<div>
&#230;&#248;&#229; ABC Webcopy text
</div>
</html>
------=_Part_435_224090408.1410355480247--
------=_Part_434_1665025495.1410355480247--

终于想通了。

preheader取自text/plain版本,而不是html版本,text/plaine版本被编码为iso-8859-1,而不是utf-8中的编码头。在更改内容编码头之后,一切都很顺利。

最新更新