首页 > 解决方案 > iOS Mail 中电子邮件的损坏的 html/文本编码:西班牙语内容中的中文符号

问题描述

我们正在发送西班牙语的 HTML 电子邮件,但是 Apple iOS 邮件应用程序错误地显示了它。应用程序将西班牙国家字符呈现为汉字(通过将单个字符与以下字符合并)。

我们注意到邮件的页脚没有正确编码(而不是使用&#XXX国家字符,我们直接使用字符而不编码) -但是即使一半未编码但我删除了定义的 CSS 的一半,电子邮件也会正确呈现上课(┛ಠДಠ)┛彡┻━┻</p>

这是电子邮件在我的设备上的样子: 文本

这是字符和映射表:

字符打印 HTML 实体 (UTF) 原始字符 正确的 HTML
:</td> &#65306;( U+FF1A) G &#161;( U+00A1) + G ( &#71;( U+0047))
烧</td> &#29138;( U+71D2) ¿N &#191;( U+00BF) + N ( &#78;( U+004E))
塶</td> &#22646;( U+5876) ac &#225;( U+00E1) + c ( &#99;( U+0063))
嫕</td> &#23253;( U+5AD5) 一个 &#225;( U+00E1) + n ( &#110;( U+006E))
嫢</td> &#23266;( U+5AE2) &#225;( U+00E1) + t ( &#116;( U+0074))
廨</td> &#24296;( U+5EE8) &#233;( U+00E9) + r ( &#114;( U+0072))
癃</td> &#30275;( U+7643) &#237;( U+00ED) + r ( &#116;( U+0074))
鏮</td> &#37870;( U+93EE) &#243;( U+00F3) + n ( &#110;( U+006E))
&#128345;( U+1F559) &#250;( U+00FA) + 米 ( &#109;( U+006D))

完整的消息正文,问题的重现:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />
    <title>Test</title>
    <style type="text/css">
        .ExternalClass,
        .ExternalClass p,
        .ExternalClass span,
        .ExternalClass font,
        .ExternalClass td,
        .ExternalClass div {}

        .rwdbreak {}
        .yahoo_fix {}
        .fl {}
        .wr {}
        .h {}
        .maxh {}
        .tcenter {}
        .valignmiddle {}
        .autoh {}
        .bold {}
        .normal {}
        .alignTextLeft {}
        .fontsize10 {}
        .fontsize11 {}
        .fontsize12 {}
        .h1 {}
        .h10 {}
        .h20 {}
        .w4 {}
        .w10 {}
        .w146 {}
        .w151 {}
        .w320 {}
        .w300 {}
        .w100pc {}
        .padT10 {}
        .padR10 {}
        .padR20 {}
        .padL10 {}
        .padL15 {}
        .padL20 {}
        .bordertopMist {}
        .borderbottomMist {}
        .borderhide {}
        .imagereplace {}
    </style>
</head>
<body bgcolor="#ffffff">

    <!-- intro -->
    <div>
        <p>
            Hola, John:<br />&#161;Gracias por tu pedido!<br/>
            <span>Tu n&#250;mero de pedido:</span> EXDEV_AAAA00XX<br/>
            Comprobar estado del pedido <span>Fecha del pedido:</span>1/1/21
        </p>
    </div>                                                            

    <!-- footer -->
    <div>
        <div>
            <p>
                ¿Necesitas ayuda? Ponte en contacto con nuestro equipo de atención al cliente.<br/>
                Este correo electrónico se ha generado automáticamente, por favor, no respondas.<br/>
                Todos nuestros productos y servicios están proporcionados por Acme Inc., Street 1, 1000, Estados Unidos.<br/>
                <span>Id. de empresa:</span> 00000000 | <span>Número de identificación de Estados Unidos:</span> XX000000000X00
            </p>
        </div>
        <div>
            <p>
                Política de privacidad y cookies<br/>
                Términos y condiciones<br/>
                Contáctanos
            </p>
        </div>
    </div>

</body>
</html>

要点:apple_ios_mail__error.html

到目前为止,我已经确定了修复渲染的方法,或者:

尽管第一个选项是最明显的选项,但它仍然没有回答为什么会发生这种情况。如果 Apple 也可以对此发表评论,那就太好了——即使部分邮件未编码,其他应用程序(Outlook、GMail)也能正确呈现电子邮件。

标签: htmliosemailcharacter-encoding

解决方案


推荐阅读