日期:2014-05-17  浏览次数:20765 次

求助C#网页提取!
提取网页时,其他的页面都没事,只有其中一页提取的是乱码,很奇怪。
麻烦大家帮我看看。

namespace WebFetch
{
    class Program
    {
        static void Main(string[] args)
        {
            string url = ""http://jobs.zhaopin.com/xian/%e4%bc%9a%e8%ae%a1_516603822250011.htm""
            HttpWebRequest request = (HttpWebRequest) HttpWebRequest.Create(url);

            WebResponse response = request.GetResponse();

            Stream stream = response.GetResponseStream();

            StreamReader reader = new StreamReader(stream);
            string htmlText = reader.ReadToEnd();
            Console.WriteLine(htmlText);
            Console.ReadKey();
        }
    }
}

------解决方案--------------------
改下读取流的编码方式
 System.IO.StreamReader reader = new System.IO.StreamReader(stream,System.Text.Encoding.Default);

第二个参数是编码方式,你挨个换下(Default,ASCII,Unicode,UTF32,UTF8,UTF7等)试试,看哪个编码方式不乱码
------解决方案--------------------
你看看是什么编码,StreamReader初始化时可以指定编码
------解决方案--------------------
上面都说到了。编码问题。
------解决方案--------------------
http://jobs.zhaopin.com/xian/%E4%BC%9A%E8%AE%A1_516603822250011.htm

------解决方案--------------------
引用:
编码方式已经试过了,只有UTF8才行,但对于这页不行还是乱码。这就是奇怪的地方,
谢谢您的回复。要不麻烦您运行下程序看看?


你想提取的页面已经有编码说明了<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
对于这页不行还是乱码什么意思。
------解决方案--------------------
引用:
编码方式已经试过了,只有UTF8才行,但对于这页不行还是乱码。这就是奇怪的地方,
谢谢您的回复。要不麻烦您运行下程序看看?
不是编码问题,是url的问题
------解决方案--------------------
直接访问是不是乱码呢?
看过这个没<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />