Encoding.ASCII
换成其他方式试

解决方案 »

  1.   

    在Web.Config里
    将<system.web>
    <globalization requestEncoding="gb2312" responseEncoding="gb2312" />
    //...
    改一下,测试
      

  2.   

    StreamReader streamReader = new StreamReader(webResponse.GetResponseStream(), Encoding.GetEncoding("gb2312"));ASCII是英文编码,如果字符超过127就是乱码,用"?"替换。gb2312是中文编码,支持简体和繁体。但必须系统装了这种编码才能用。
      

  3.   

    不行 为什么使用 Encoding.Unicode 国际编码不行
      

  4.   

    因为webResponse.GetResponseStream()得到的是字节流,而且是经过编码的。如果这个编码用的是不支持中文的编码,那无论斑竹用什么编码都得不到原来的数据。所以首要条件是这些字节流在传输之前用的编码支持中文。然后斑竹用的编码应该根这个编码对应起来。比如如果传输之前用的是Unicode,那么斑竹必须用Unicode,就能得到正确的数据。但是这些数据(字符串)要输出到控制台也要经过编码,这又是另一个编码过程,这个编码用的是系统默认的编码,也就是说,如果斑竹的系统不能输出中文到控制台,即使数据对了也输不出来。所以斑竹必须先知道对方(request)传输数据用的是什么编码,然后才决定用什么编码。