Сохранение почтовых отправлений 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
Объект для чтения сохраненного файла в строку. Затем вы можете преобразовать и повторно сохранить строку как другой файл в той кодировке, которую вы предпочитаете.