Сохранение почтовых отправлений Outlook в UTF-8 / Unicode с использованием C#

Мы создали плагин для Outlook, который (помимо прочего) можно использовать для сохранения элементов Mail в текстовой форме в определенной папке. Тем не менее, текст результирующего текстового файла закодирован в ANSI, и я хотел бы сохранить его как UTF8. Я уже установил кодовую страницу почтового отправления следующим образом:

mail = (MailItem)objItem;
mail.InternetCodepage = 65001; // equal UTF8 encoding; see http://msdn.microsoft.com/en-us/library/office/ff860730.aspx
mail.SaveAs(filePath, olSaveAsType);

Однако полученный файл сохраняется как "ANSI как UTF8", и все расширенные символы (например, на арабском или русском языке) отображаются в виде вопросительных знаков. Кто-нибудь знает, как я могу сохранить почтовый элемент в utf8?

Большое спасибо.

Ура,

Мартин

1 ответ

Вместо того, чтобы пытаться установить кодировку, попробуйте прочитать InternetCodepage а затем с помощью System.Text.Encoding Объект для чтения сохраненного файла в строку. Затем вы можете преобразовать и повторно сохранить строку как другой файл в той кодировке, которую вы предпочитаете.

Другие вопросы по тегам