WebClient wc = new WebClient(); 
        wc.Credentials = CredentialCache.DefaultCredentials; 
        Byte[] pageData = wc.DownloadData(@url); 
当 url 包含中文字符的时候 就出现乱码问题?怎么解决?

解决方案 »

  1.   

    编码 
    Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); 
    或者 utf-8 
    都不能解决问题~~~~~~~ 自己做沙发~~~~~~
      

  2.   

    url不包含中文的时候  是正常的 
    比如 url="search.aspx?search_str=aa" 
    正常 
    但是 url="search.aspx?search_str=中国" 
    就不正常了
      

  3.   

    在ie选项里,有个“总是以utf-8
    发送url”要不用webrequest类吧 ,比client强大些
    用streamreader读取,设置Encoding.Default;
      

  4.   

    谢谢~~~~(笑笑生)
    在ie选项里,有个“总是以utf-8发送url”这个试过了~~不行~~~WebClient 这个没办法吗?
      

  5.   

    还有就是 用  webrequest 也出现同样问题
    这个我也试过了
      

  6.   

    =中国
    是不可以的
    因该是
    (GB2312)
    =%D6%D0%B9%FA
    (UTF-8)
    =%E4%B8%AD%E5%9B%BD
      

  7.   

    为什么不可以? 具体怎么解决????=%E4%B8%AD%E5%9B%BD
    =%E4%B8%AD%E5%9B%BD
    我都试过了~~~ 结果一样.......
      

  8.   

    WebClient wc = new WebClient(); 
            wc.Credentials = CredentialCache.DefaultCredentials; 
            Byte[] pageData = wc.DownloadData(@url); 
    当 url 包含中文字符的时候 就出现乱码问题?怎么解决?
    编码 
    Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); 
    或者 utf-8 
    都不能解决问题~~~~~~~ 
    url不包含中文的时候  是正常的 
    比如 url="search.aspx?search_str=aa" 
    正常 
    但是 url="search.aspx?search_str=中国" 
    就不正常了
    WebRequest 也出同样的问题