我有一个特定的要求,即使用C#.Net将用户联系人详细信息作为名片发送到Outlook,它可以很好地工作并将名片发送到Outlook,但是当用户名是unicode格式时会遇到问题。
样品1:
- 用户名:疯狂
- 它完美无缺,能够查看用户名,而且没有任何前景问题。
示例-2:
- 用户名:Müller
- 它发送名片,但它在展望中显示为“Müller”。
使用的逻辑是:
代码示例:
System.IO.StreamWriter streamWriter = new System.IO.StreamWriter(filePath);
streamWriter.Write(msgStr);
streamWriter.Close();
streamWriter.Dispose();
附件_mailAttachment =新附件(filePath);
_mailAttachment.ContentDisposition.Inline = true;
mailMessage.Attachments.Add(_mailAttachment);
client.Send(MAILMESSAGE);
甚至尝试在写入文件时对内容进行编码,但没有帮助。
任何帮助,我如何解决unicode格式化问题?
示例Vcard内容:
BEGIN:VCARD
版本:2.1
N; CHARSET = UTF-8; LANGUAGE = EN:穆勒;亚历山大
FN; CHARSET = CHARSET = UTF-8; LANGUAGE = en:MüllerAlexander
ORG:CEF企业发展办公室
标题:服务经理
END:VCARD
但名字仍显示为“Müller,Alexander”?
答案 0 :(得分:1)
您可以查看.Net vCard生成库here。它支持您要做的事情。此外,您必须记住,通常vCard文件必须编码为ASCII,因此您可能必须转换为ASCII(如QUOTED-PRINTABLE)才能工作。
答案 1 :(得分:0)
您需要为带有
的unicode字符的字段指定字符集CHARSET=utf-8
例如:
N;CHARSET=utf-8:Müller