Вопросительные знаки вместо тире
У меня есть программа, которая работает на.NET. У клиента возникла проблема, которая, по-видимому, связана с кодировкой электронной почты. Вопросительные знаки отображаются в теле письма; Я изменил кодировку на UTF. Все еще проблема.
ШАРЛОТТА, Северная Каролина (AP) - Республиканский национальный комитет проводит свои зимние собрания в городе Северная Каролина, где четыре месяца назад демократы повторно выдвинули Барака Обаму на пост президента.
Появляется так:
ШАРЛОТТА, Северная Каролина (AP)??? Республиканский национальный комитет проводит свои зимние собрания в городе Северная Каролина, где четыре месяца назад демократы переизбрали Барака Обаму на пост президента.
Кодировка для сообщения электронной почты установлена в UTF-8.
MailMessage.BodyEncoding = System.Text.Encoding.UTF8;
Из заголовка HTML в электронном письме:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Вот действительно странная вещь:
- Проблема происходит на Windows и Mac
- Я подписан на этот список, и электронные письма отображаются нормально с моей стороны.
- Я использую Outlook 2013 с Exchange 2010; они есть в Outlook и некоторых других программах, не знаю, какие именно.
Может ли быть установлено какое-то программное обеспечение безопасности, которое могло бы испортить это? Может ли UTF-16 работать?
1 ответ
Это происходит потому, что некоторым почтовым программам не нравятся высокие символы ASCII в HTML. Преобразуйте все символы высокого ASCII в эквивалент HTML.
Небрежная версия.NET в Stackru: более совершенная кодировка.NET HTML
Также больше на HTML и ASCII: страницы Sonic Ultimate HTML Character Set