如果使用挪威语字母,则附件的名称会被错误解码

pod*_*eig 9 c# encoding sendmail attachment

我有这段代码创建附件并发送电子邮件.如果文件名包含æ,ø或æ,则名称将被完全销毁.

在此输入图像描述

如果我删除挪威字母,一切都很好

在此输入图像描述

        var stream = new MemoryStream();
        doc.Save(stream, SaveFormat.Docx);

        mail.From = new MailAddress("no-replay@email.no");
        mail.To.Add("my@email.no");
        mail.IsBodyHtml = true;
        mail.Subject = "Attachments test";
        mail.Body = "Hei,<br /><br />";
        stream.Seek(0, SeekOrigin.Begin);

        var attachment = new Attachment(stream, "Name Å Æ Ø.docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
        attachment.NameEncoding = Encoding.UTF8;
        mail.Attachments.Add(attachment);
        var smtp = new SmtpClient("smtp.server.com") {Port = 25};
        smtp.Send(mail);
Run Code Online (Sandbox Code Playgroud)

如何正常工作?

我在这里找到了一个解决方案http://social.msdn.microsoft.com/Forums/en-US/dotnetframeworkde/thread/b6c764f7-4697-4394-b45f-128a24306d55

Tim*_* S. 0

尝试更改attachment.NameEncoding = Encoding.UTF8;attachment.NameEncoding = Encoding.Unicode;.