使用C#以UTF-8 / Unicode保存Outlook邮件项目

时间:2013-06-10 11:22:00

标签: unicode utf-8 outlook mailitem

我们创建了一个Outlook插件,其中包括(以及其他内容)可以将文本形式的邮件项目保存到特定文件夹。但是,生成的文本文件的文本用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 as UTF8”,所有扩展字符(例如阿拉伯语或俄语)都以问号形式出现。 有谁知道如何在utf8中保存邮件项目?

非常感谢。

干杯,

马丁

1 个答案:

答案 0 :(得分:0)

尝试阅读InternetCodepage,然后使用System.Text.Encoding对象将已保存的文件读入字符串,而不是尝试设置编码。然后,您可以将字符串转换并重新保存为您喜欢的编码中的另一个文件。