Asp.net 用问号代替破折号

Asp.net 用问号代替破折号,asp.net,email,.net-4.0,mailmessage,Asp.net,Email,.net 4.0,Mailmessage,我有一个在.NET上运行的程序。客户端出现问题,似乎是电子邮件编码问题。电子邮件正文中出现了问号;我已将编码更改为UTF。还是个问题 夏洛特,北卡罗来纳州(美联社)-共和党全国委员会正在北卡罗来纳州举行冬季会议,四个月前民主党人在那里再次提名巴拉克·奥巴马为总统 显示如下: 北卡罗来纳州夏洛特(美联社)???共和党全国委员会正在北卡罗来纳州举行冬季会议,四个月前,民主党人在那里再次提名巴拉克·奥巴马为总统 电子邮件的编码设置为UTF-8 MailMessage.BodyEncoding = Sy

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

夏洛特,北卡罗来纳州(美联社)-共和党全国委员会正在北卡罗来纳州举行冬季会议,四个月前民主党人在那里再次提名巴拉克·奥巴马为总统

显示如下:

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

电子邮件的编码设置为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可以工作吗?

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

StackOverflow上草率的.NET版本:

有关HTML和ASCII的更多信息: