我通过CHttpConnection来获取网页返回的数据,可是取得的数据全部为乱码,中文和英文都是,之前通过 UTF82ANSI 方法可以取得正确的字符串,现在不知道为什么不行了,请大家帮忙看下  开发环境 vs2008(c++)
  网页链接:QQ开心农场 http://mc.qzone.qq.com/cgi-bin/cgi_get_animals?
  返回的数据可以用 fiddler 来查看解决问题可以另外开贴给分!!

解决方案 »

  1.   

    1.把数据下下来分析下,不要编码
    2.找到合适的编码方案在写编码程序不过不行,抓包分析你发的http包和浏览器发的有何不同,模拟一个一模一样的fiddler可以看你一定也可以的
      

  2.   

    数据被压缩,或者编码格式不一样。使用httpwatch或者其它的抓包工具看下。
      

  3.   

    抓下返回的HTTP包来进行分析分析, 可能返回的数据是经过压缩的。
    比如
    HTTP/1.1 200 OK
    Date: Wed, 10 Mar 2010 16:27:42 GMT
    Expires: Wed, 10 Mar 2010 16:27:42 GMT
    Cache-Control: private, max-age=86400
    Content-Type: text/plain; charset=UTF-8
    Content-Language: zh-CN
    Content-Encoding: gzip
    Server: translation
    Content-Length: 128
    X-XSS-Protection: 0?     玍*N?I蚄N-V矈甐*)J?矓瀠L|6c龘
    Ov瑉>e麚]粩t旘?觼r?壒
    ?箟y@1皢溙爔I
    ?囎(TY潂x匓掎厃E嘩?掌?%暏9 
    (zs   Content-Encoding: gzip
    返回的数据是经过压缩的,返回的必然是乱码。需先进行解码还有Content-Type: text/plain; charset=UTF-8
    有时候要注意返回的字符编码,这里返回的字符编码方式是UTF-8,显示中文会出错,需要转换成GB2312的(也就是中文简体的)
      

  4.   

    把接收到的数据转一下看看,从UTF8转成GB2312再显示出来看看是不是乱码