【问题标题】:Accented letters not rendering at some clients in html email重音字母未在 html 电子邮件中的某些客户处呈现
【发布时间】:2012-02-27 08:44:46
【问题描述】:

我们正在发送时事通讯。据我所知,使用的格式是 html,但在某些客户端上,重音字母不会呈现,只是可以看到代码。例如:“&nbsp”或“&eacute”等。 不幸的是,我还不知道更多细节,因为我的朋友让我帮助他解决这个问题。此类电子邮件的正确电子邮件标题是什么?我怀疑问题出在那儿。 感谢您的帮助。

更新: 我现在得到了更多信息。问题是他们正在使用第三方提供的服务。它是基于网络的,使用 TinyMCE 编辑邮件(不幸的是,我怀疑我是否可以访问设置)。无论如何,他们设法向我发送了邮件的标题:

内容传输编码:引用打印 内容类型:文本/纯文本; charset=ISO-8859-1

不应该是“text/html”而不是“text/plain”吗?因为如果它很简单,那么很明显它不是渲染的,对吧?还是发送的邮件头是“text/html”,但是客户端上的邮件软件无法处理html邮件并将其更改为“text/plain”?谢谢你的帮助,亚历克斯

【问题讨论】:

  • 如果电子邮件仅包含文本,则 text/plain 可以。但是这些字符不能作为实体引用;使用正确的编码。所以问题是,您能否管理这些字符的发送方式,或者您能否更改内容类型?
  • 好吧,我怀疑我是否可以访问这些内容,因为第三方会处理它,但我可以告诉我的朋友通过此页面上的信息与他们联系。

标签: html email header content-type non-ascii-characters


【解决方案1】:

如果对某些客户端有效而对其他客户端无效,则可能是电子邮件中Content-Type MIME 标头中的charset 参数错误或丢失(迫使程序猜测) 某些电子邮件程序不支持使用的字符编码传输编码存在类似问题。

通过使用实体或字符引用对所有非 ASCII 数据进行编码(例如 ´ 表示 é(参见例如 references for the Latin-1 Supplement 的列表)来规避此类问题是最简单的(至少在某种意义上)。这适用于所有可以处理 HTML 格式并且不依赖于字符或传输编码问题的程序。

【讨论】:

  • 如果问题是所选字体缺少所需的字形,这将无济于事。不过,选择不同的字体可能会有所帮助。
猜你喜欢
  • 2013-05-22
  • 2015-09-25
  • 2020-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-14
  • 1970-01-01
相关资源
最近更新 更多