不显示区域(UTF-8)字符的可行消息

时间:2018-08-29 11:11:47

标签: character-encoding adaptive-cards office365connectors

我在查看可操作消息时遇到问题。即使我已经在电子邮件的HTML头内的meta标签中添加了有关UTF-8编码的信息,区域字符仍无法正确显示(?而不是实际字符):

<meta http-equiv="Content-Type"content="text/html;charset=UTF-8">

但是,奇怪的是,当我将字符放入电子邮件正文时,字符可以正确呈现。此外,即使从日语中输入一个字符,也可以使“可操作消息”中的所有日语字符正确呈现(但不是西里尔字母)。

这让我觉得,Outlook(OWA和桌面)呈现消息是一个问题,而不是编码本身。似乎Outlook会自动选择对于正确显示消息而言最少的字符集,但它不会在消息中检测到“可操作的消息内容”。

到目前为止,我已经想到的解决方法是将区域字符放入不可见的div中(以便它们“强制”字符集):

<div style=\"display:none;font-size:1px;line-height:1px;max-height:0px;max-width:0px;opacity:0;overflow:hidden;mso-hide:all;\">łśあД</div>

看起来真的很恐怖,或者在HTML的正文中添加了备用消息内容。

所以我的问题是,无论身体如何,我是否缺少任何无法正确渲染所有UTF-8字符的设置?

我正在通过EWS托管API发送消息。我尝试在meta标签中设置其他字符集。

1 个答案:

答案 0 :(得分:1)

您能否使用跟随脚本通过SMTP发送相同的有效载荷?

https://github.com/tony-zhu/SendActionableMessage

我们对此脚本进行了一些国际化测试,所有字符均正确显示。