电子邮件项目用问号代替俄语文本

时间:2019-01-30 10:36:20

标签: c# outlook

当我在主题/正文中传递俄语文字时。在打开的电子邮件中,该文本将替换为问号。

我正在使用代码项目参考https://www.codeproject.com/Articles/17561/Programmatically-adding-attachments-to-emails-in-C中的MAPI

我尝试使用mailto,它设置了传递给我的文本,但我无法使用mailto添加附件

    string mailto = string.Format("mailto:?cc={0}&Subject={1}&Body={2}&attachment={3}", ccEmailId, subject, body, attachmentPath);
    mailto = Uri.EscapeUriString(mailto);
    Process proc = Process.Start(mailto);

通过一些研究,我发现使用Outlook互操作可以解决,但我不确定最终用户计算机上将哪个电子邮件客户端设置为默认电子邮件。

开发人员计算机上Outlook中的设置: !https://ibb.co/b5XK5rV

还有其他方法可以让我在邮件上设置附件并启动电子邮件对话,同时以任何不会被转换为问号的语言传递文字吗???????

2 个答案:

答案 0 :(得分:1)

所有非ASCII和Unicode字符都必须进行url编码:

mailto:test@example.com?Subject=%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82

答案 1 :(得分:0)

由于外来字符,您可能要使用UTF 16

这是所有字符的完整列表。

https://www.fileformat.info/info/charset/UTF-16/list.htm