PageUrl = UrlText.Text;
WebClient wc = new WebClient();
wc.Credentials = CredentialCache.DefaultCredentials;
Byte[] pageData = wc.DownloadData(PageUrl);
ContentHtml.Text = Encoding.Default.GetString(pageData);
wc.Dispose();  可是取得的HTML文件中如果包含汉字,显示的全是乱码,这是怎么回事啊?

解决方案 »

  1.   

    Encoding.ASCII.GetString(pageData);试一下。
      

  2.   

    System.Text.UTF8Encoding.UTF8.GetString试试
      

  3.   

    或者用如下代码试一下:WebClient wc = new WebClient();
    wc.Credentials = CredentialCache.DefaultCredentials;
    Byte[] pageData = wc.DownloadData(PageUrl);//------下面是我添加的代码--------------
    Stream = new MemoryStream(pageData,0,pageData.Length);
    StreamReader sr= new StreamReader(Stream);
    ContentHtml.Text = sr.ReadToEnd();
    注意开头要引用:using System.IO;
      

  4.   

    不好意思,上面错了一点,晕啊,改正如下://------下面是我添加的代码--------------
    Stream ms= new MemoryStream(pageData,0,pageData.Length);
    StreamReader sr= new StreamReader(ms);
    ContentHtml.Text = sr.ReadToEnd();
      

  5.   

    string download = Encoding.ASCII.GetString(myDataBuffer);
    Console.WriteLine(download);
      

  6.   

    這個問題以前碰到過
    更改下面設置解決了
    不知試用lz不.
    <globalization requestEncoding="big5" responseEncoding="big5" />
      

  7.   

    应该可以,系统是什么??
    try
    System.Text.Encoding.GetEncode("Gb2312")
      

  8.   

    PageUrl = UrlText.Text;
    WebClient wc = new WebClient();
    wc.Credentials = CredentialCache.DefaultCredentials;
    ContentHtml.Text = wc.DownloadString(PageUrl);
    wc.Dispose(); 这样就可以了。不用那么复杂
      

  9.   

    实在不行,你把你要取的那个页面 PageUrl 网址发上来.
      

  10.   

    HJS1820(努力成為高手):更改配置文件还是不可以hdt(倦怠):我需要在代码开头加上System.Text.Encoding.GetEncode("Gb2312")吗?
      

  11.   

    bluemoon0001(小天--追梦浪子) :谢谢你,用你的办法就可以了,添加了如下代码:Stream ms= new MemoryStream(pageData,0,pageData.Length);
    StreamReader sr= new StreamReader(ms);
    ContentHtml.Text = sr.ReadToEnd();lesen(如风):我要取的就是CSDN的页面啊:http://community.csdn.net/
      

  12.   

    jsyhello(不认输):谢谢你,用你的办法也可以