2010-11-30 4 views
4

Я использую следующий код для отправки вложения (.csv) с Chinese символов. Тем не менее, MS excel не справляется с характером символов, он отображает что-то вроде «¨å¯¹æ- ° ç». Это потому, что я не задал какое-либо свойство при отправке почты?Ошибка кодирования электронной почты для почтового вложения (.csv)

Спасибо за консультацию.

   byte[] attachBytes = Encoding.UTF8.GetBytes(attachText); 
       ms.Write(attachBytes, 0, attachBytes.Length); 
       // Set the position to the beginning of the stream. 
       ms.Position = 0; 
       ContentType ct = new ContentType(MediaTypeNames.Text.Plain); 

       Attachment attactment = new Attachment(ms, attachFileName); 
       message.Attachments.Add(attactment); 

ответ

1

я думаю, что вам требуется дополнительная настройка кодировки для объекта почтового тела, что-то вроде этого:

message.BodyEncoding = UTF8 
+0

Привет Али, он не работает – Ricky 2010-11-30 08:46:22

1

Установки вложения кодирующего в Encoding.UTF32 может помочь. Предполагая, что attachText является string, и вы хотите только добавить .csv можно сократить свой код, используя Attachment.CreateAttachmentFromString() метод:

var attachment = Attachment.CreateAttachmentFromString(attachText, 
                 "filename.csv", 
                 Encoding.UTF32, 
                 "text/csv"); 
message.Attachments.Add(attachment); 
Смежные вопросы