一个指定的URL读取数据,绝大部分是正常的,但是却有个别地方出现乱码,怪,不知为何?
是不是读取的数据文本本身有什么问题呢?
int count=0;
byte[] buf = new byte[4096]; 
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create(URL); 
HttpWebResponse response = (HttpWebResponse)
request.GetResponse(); 
Stream resStream = response.GetResponseStream(); 
while(true)
 {
    count = resStream.Read(buf, 0, buf.Length); 
    tmpstr =tmpstr+ Encoding.Default.GetString(buf, 0, count); 
    if (count==0) 
    break;
  }
resStream.Close(); tempFile="a.txt";
StreamWriter writer = new StreamWriter(tempFile,false,Encoding.GetEncoding(54936)); 
writer.Write(strtmp);
writer.Flush();直接在IE上看ULR:
那是一条很窄的小溪,溪的两岸分别有一棵梧桐树和一棵柳树,他们就这样一直遥遥相对着,很久很久。可是因为距离,他们总是这样默默地注视着彼此。有一年春天,梧桐把他的臂膀
a.txt出现的乱码:
那是一条很窄的小溪,溪的两岸分别有一棵梧桐树和一棵柳树 蔷驼庋恢币RO喽宰牛芫煤芫谩?墒且蛭嗬耄亲苁钦庋刈⑹幼疟舜恕S幸荒甏禾欤嗤┌阉谋郯蛏煜 那多生成的文本都有这种情况,都是某一部分有问题,非常奇怪.
请高手指点一二.谢了.

解决方案 »

  1.   

    Encoding问题,你的网页用什么Encoding?
      

  2.   

    你试试看Utf-8,然后看gb2312,最后看unicode,一般总会有一个可以的。尤其是有的网页编辑器对于中文支持的不大好,那么用gb2312就有问题,而utf8就没事儿。
      

  3.   

    网页上是
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    如果是encoding的错,那就会全部乱码,不会出现一部分可以正常的情况了
      

  4.   

    现在问题集中在读取数据出错的
    int count=0;
    byte[] buf = new byte[4096]; 
    HttpWebRequest request = (HttpWebRequest)
    WebRequest.Create(URL); 
    HttpWebResponse response = (HttpWebResponse)
    request.GetResponse(); 
    Stream resStream = response.GetResponseStream(); 
    while(true)
     {
        count = resStream.Read(buf, 0, buf.Length); 
        tmpstr =tmpstr+ Encoding.Default.GetString(buf, 0, count); 
        if (count==0) 
        break;
      }
    resStream.Close();
      

  5.   

    try
    http://blog.csdn.net/goody9807/articles/138871.aspx
      

  6.   

    受不了了,http://blog.csdn.net/goody9807/articles/138871.aspx ,打不开网页,气死了