我有一个特定的要求,即使用 C#.Net 将用户联系方式作为名片发送到 Outlook,它可以完美地工作并将名片发送到 Outlook,但是当用户名是 unicode 格式时会遇到问题。
Sample-1:
- UserName : Crazy
- 它完美地工作并且能够在 Outlook 上查看用户名而没有任何问题。
示例 2:
- 用户名:Müller
- 它发送名片,但在 Outlook 上显示为“Müller”。
使用的逻辑是:
- 详细信息将写入 .vcf 文件(文本文件)
- 该文件将附在邮件中。
代码示例:
System.IO.StreamWriter streamWriter = new System.IO.StreamWriter(filePath);
streamWriter.Write(msgStr);
streamWriter.Close();
streamWriter.Dispose();
附件 _mailAttachment = 新附件(文件路径);
_mailAttachment.ContentDisposition.Inline = true;
mailMessage.Attachments.Add(_mailAttachment);
client.Send(mailMessage);
甚至尝试在写入文件时对内容进行编码,但无济于事。
任何帮助,我该如何解决 unicode 格式的问题?
Vcard 内容示例:
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8;LANGUAGE=en:Müller;Alexander
FN;CHARSET=CHARSET=UTF-8;LANGUAGE=en:Müller Alexander
ORG:CEF Corporate Development Office
TITLE:Service经理
END:VCARD
但是这个名字仍然显示为“Müller, Alexander”?