none
pop3中文乱码 RRS feed

  • 问题

  • +OK 1305 octets
    Received: from muradilpop3 ( [61.185.221.175] ) by ajax-webmail-wmsvr38
     (Coremail) ; Tue, 4 May 2010 20:20:05 +0800 (CST)
    Date: Tue, 4 May 2010 20:20:05 +0800 (CST)
    From: muradilpop3 <muradilpop3@126.com>
    To: muradilPOP3@126.com
    Message-ID: <1188b63.f42d.1286342404f.Coremail.muradilpop3@126.com>
    Subject: hehe
    MIME-Version: 1.0
    Content-Type: multipart/alternative; 
    	boundary="----=_Part_162640_25978066.1272975605213"
    X-Originating-IP: [61.185.221.175]
    X-Priority: 3
    X-Mailer: Coremail Webmail Server Version SP_ntes V3.5 build
     100422(10419.3027.3028) Copyright (c) 2002-2010 www.mailtech.cn 126com
    X-CM-CTRLDATA: ruEZ3mZvb3Rlcl9odG09Mjc6NDQ=
    X-CM-TRANSID:JsqowLDLbAL1EOBLsIsCAA--.1593W
    X-CM-SenderInfo: ppxutvplos01at6rjloofrz/1tbi2wTF-Er054rn4wABsw
    X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU==
    
    ------=_Part_162640_25978066.1272975605213
    Content-Type: text/plain; charset=gbk
    Content-Transfer-Encoding: base64
    
    tPO80rrDwvCjv87SusPE47rDoaOho7TzvNK6w6GjoaOho6GjaGVsbG8K
    ------=_Part_162640_25978066.1272975605213
    Content-Type: text/html; charset=gbk
    Content-Transfer-Encoding: base64
    
    tPO80rrDwvCjv87SusPE47rDoaOho7TzvNK6w6GjoaOho6GjaGVsbG88YnI+PGJyPjxicj48c3Bh
    biB0aXRsZT0ibmV0ZWFzZWZvb3RlciIvPjwvc3Bhbj4=
    ------=_Part_162640_25978066.1272975605213--
    我用C#写了个pop3程序。但接收到的信中,中文全是乱码。比如下面的代码本来是个中文,但我收到的就是这种乱码。。。怎么改啊。。。
    tPO80rrDwvCjv87SusPE47rDoaOho7TzvNK6w6GjoaOho6GjaGVsbG88YnI+PGJyPjxicj48c3Bh
    biB0aXRsZT0ibmV0ZWFzZWZvb3RlciIvPjwvc3Bhbj4=


    muradil
    2010年5月4日 12:49

答案

  • 这是encoding 问题,你得用适当的Encoding 解码字节流才能正确解码字符。典型的如: GB2312 UTF-8 等等。

    2010年5月4日 13:48
  • 看了一下 MIME 头,注意这两行:

    Content-Type: text/html; charset=gbk
    Content-Transfer-Encoding: base64

    编码用的是 GBK,传输格式用的是 base64,如果直接接收邮件的话,拿到的肯定是 Base64String。要解析它,用 Convert.FromBase64String()。还有,GBK 的编码总觉得也会有问题,换成 UTF-8 试试看。


    Mark Zhou
    2010年5月5日 9:58

全部回复

  • 这是encoding 问题,你得用适当的Encoding 解码字节流才能正确解码字符。典型的如: GB2312 UTF-8 等等。

    2010年5月4日 13:48
  • 看了一下 MIME 头,注意这两行:

    Content-Type: text/html; charset=gbk
    Content-Transfer-Encoding: base64

    编码用的是 GBK,传输格式用的是 base64,如果直接接收邮件的话,拿到的肯定是 Base64String。要解析它,用 Convert.FromBase64String()。还有,GBK 的编码总觉得也会有问题,换成 UTF-8 试试看。


    Mark Zhou
    2010年5月5日 9:58