2012-05-03 2 views
8

У меня есть эта часть кода, которая создает вложение и отправляет электронную почту. Если имя файла содержит æ, ø или æ, имя полностью уничтожено.Имя приложения неверно декодировано, если используются норвежские буквы

enter image description here

Если удалить НОРВЕЖСКИЕ буквы, все в порядке

enter image description here

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

     mail.From = new MailAddress("[email protected]"); 
     mail.To.Add("[email protected]"); 
     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); 

Как получить эту работу должным образом?

РЕШЕНИЕ

Я нашел решение здесь http://social.msdn.microsoft.com/Forums/en-US/dotnetframeworkde/thread/b6c764f7-4697-4394-b45f-128a24306d55

+0

Является '' mail' в MailMessage'? Если да, можете ли вы проверить, имеют ли все свойства «кодирования», такие как «BodyEncoding», «HeadersEncoding» и т. Д., Одинаковое значение? –

+0

Все эти параметры: UTF8> mail.SubjectEncoding = Encoding.UTF8; mail.BodyEncoding = Encoding.UTF8; mail.HeadersEncoding = Encoding.UTF8; Это не помогает. – podeig

ответ

0

Попробуйте изменить attachment.NameEncoding = Encoding.UTF8; к attachment.NameEncoding = Encoding.Unicode;.

+0

Я пробовал все кодировки. Если я использую Unicode-имя, например this = utf-16MUAByg8 ........ подходит. – podeig

1

здесь разрешение от Microsoft для платформы .NET 4

http://support.microsoft.com/kb/2402064

+1

Прямая загрузка: 64: http://hotfixv4.microsoft.com/.NET%20Framework%204.0%20-%20Windows%20XP,%20Windows%202003,%20Windows%20Vista,%20Windows%20Server%202008,%20Win7, % 20Windows% 20Server% 202008% 20R2% 20 (MSI) /nosp/DevDiv933059/30319.364/free/421618_intl_x64_zip.exe 32: http://hotfixv4.microsoft.com/.NET%20Framework%204.0%20-%20Windows % 20XP,% 20Windows% 202003,% 20Windows% 20Vista,% 20Windows% 20Server% 202008,% 20Win7,% 20Windows% 20Server% 202008% 20R2% 20 (MSI) /nosp/DevDiv933059/30319.364/free/421617_intl_i386_zip.exe – phoenix

Смежные вопросы