在 Outlook 项目注册期间,希腊语和非拉丁字符似乎被识别并替换为 ??? MailItem.SaveAs(路径,[对象类型])

问题描述 投票:0回答:1

亲爱的,

通过使用 * MailItem.SaveAs(sing path, [Object Type]) *

在临时文件夹(文件系统)上注册 Outlook 项目(.msg)期间,

所有希腊和非拉丁字符似乎都被损坏并替换为??????

即使我把它作为对象类型

有人知道如何解决这个问题吗?

肯定和字符编码(utf-8)有关但是

我将 olMSGUnicode 或 olMSG 作为 [对象类型] 放入参数中但没有成功

here is the code

如何在 Windows 文件系统(临时文件夹或其他文件夹)上注册包含希腊语(其他非拉丁语)字符的 Outlook 项目而不被替换为 ??????

的解决方案
c# outlook character-encoding vsto outlook-addin
1个回答
0
投票

肯定和字符编码(utf-8)有关

通常您可以在消息正文中找到编码页面,请参阅HTMLBody 属性。

要使用自定义编码,您可以改用以下代码:

using (FileStream fs = new FileStream(_fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
    using (StreamReader sr = new StreamReader(fs, Encoding.GetEncoding(1252)))
    {                                        
        while (!sr.EndOfStream)
            ProcessLine(sr.ReadLine());
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.