2012-05-03 7 views
8

Tengo este fragmento de código que crea un archivo adjunto y envía un correo electrónico. Si el nombre del archivo contiene æ, ø o æ, el nombre está totalmente destruido.El nombre del archivo adjunto está decodificado incorrectamente si se usan letras noruegas

enter image description here

Si quito las cartas noruegas, todo está bien

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); 

cómo conseguir este trabajo correctamente?

SOLUCIÓN

he encontrado una solución aquí http://social.msdn.microsoft.com/Forums/en-US/dotnetframeworkde/thread/b6c764f7-4697-4394-b45f-128a24306d55

+0

es '' mail' un MailMessage'? Si es así, ¿podría verificar si todas las propiedades de "codificación", como 'BodyEncoding',' HeadersEncoding' y demás, tienen el mismo valor? –

+0

Todos estos parámetros son UTF8> mail.SubjectEncoding = Encoding.UTF8; mail.BodyEncoding = Encoding.UTF8; mail.HeadersEncoding = Encoding.UTF8; No ayuda. – podeig

Respuesta

0

Intente cambiar attachment.NameEncoding = Encoding.UTF8; a attachment.NameEncoding = Encoding.Unicode;.

+0

He intentado todas las codificaciones. Si utilizo un nombre Unicode como este = utf-16MUAByg8 ........ se acerca. – podeig

1

aquí es la resolución de Microsoft para .NET Framework 4

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

+1

descarga directa: 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

Cuestiones relacionadas