0

我有一个在.NET 上运行的程序。客户遇到的问题似乎是电子邮件编码问题。问号出现在电子邮件正文中;我已将编码更改为 UTF。还是有问题。

北卡罗来纳州夏洛特(美联社)——共和党全国委员会正在北卡罗来纳州举行冬季会议,四个月前,民主党在该市重新提名巴拉克·奥巴马 (Barack Obama) 为总统。

显示如下:

北卡罗来纳州夏洛特(美联社)???共和党全国委员会正在北卡罗来纳州举行冬季会议,四个月前,民主党人在该市重新提名巴拉克·奥巴马 (Barack Obama) 为总统。

电子邮件消息的编码设置为 UTF-8。

MailMessage.BodyEncoding = System.Text.Encoding.UTF8;

从电子邮件中的 HTML 标头:

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

这是真正奇怪的事情:

  • 问题发生在 Windows 和 Mac 上
  • 我订阅了此列表,并且我的电子邮件显示正常。
  • 我正在运行带有 Exchange 2010 的 Outlook 2013;它们在 Outlook 和其他一些程序上,不确定是哪个。

是否安装了一些安全软件会搞砸这一切?UTF-16 可以工作吗?

4

1 回答 1

0

发生这种情况是因为某些电子邮件程序不喜欢HTML 中的高位 ASCII字符。将所有高位 ASCII 字符转换为等效的 HTML。

StackOverflow 上草率的 .NET 版本:更高级的 .NET HTML 编码

有关 HTML 和 ASCII 的更多信息:Sonic 的终极 HTML 字符集页面

于 2013-01-24T02:28:52.957 回答