используя правильную кодировку для отправки специальных символов людям, использующим outlook - PullRequest
0 голосов
/ 23 мая 2011

Мне было интересно, какой формат кодировки я должен использовать для отправки специальных символов в электронных письмах людям, использующим Outlook.Я провел собственное исследование и нашел разные способы, но ни один из них не помог мне.Я проверил outlook, и кажется, что по умолчанию он использует западноевропейский (Windows) формат и, следовательно, использует кодировку Windows-1252 (если то, что я искал и понял, правильно).Тем не менее, когда я пытался преобразовать из Unicode в C # в кодировку Windows-1252, мой взгляд все еще не признает специальные символы, чтобы быть законным.Например, под именем какого-то случайного человека:

ожидаемый результат: Мистер Моне Рив

фактический результат (неверный): Мистер Моне Рев

Может ли кто-нибудь помочь мне с тем, какой подход я должен предпринять, чтобы исправить вышеприведенное.

Мой код:

string Fullname = "Mr Moné Rêve";
Encoding unicode = new UnicodeEncoding(); 
Encoding win1252 = Encoding.GetEncoding(1252); 

byte[] input = unicode.GetBytes(Fullname);      
byte[] output = Encoding.Convert(unicode, win1252, input);

string result = win1252.GetString(output);  

Ответы [ 2 ]

2 голосов
/ 23 мая 2011

Нет правильной кодировки.Вы должны указать кодировку в HTML.

Это взято из полученного мной электронного письма (источник можно получить из электронного письма, используя, например, outlook):

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

Когда вы устанавливаете кодировку в вашем документеуказать, какую кодировку вы используете, иначе получатель не будет знать, какую кодировку вы использовали.Объявление кодировки может быть прочитано с любой кодировкой, которую вы хотите использовать, таким образом, кодировка может быть прочитана без знания кодировки.

Прочтите это о кодировках и о том, как они работают: http://www.joelonsoftware.com/printerFriendly/articles/Unicode.html

1 голос
/ 24 мая 2011

В конце концов, я пошел для проверки специальных символов в моей строке и изменения специальных символов в их эквивалентный код, например, é становится &#233;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...