C#抓取网页中出现乱码如何解决

我用的抓取代码是reader=newStreamReader(response.GetResponseStream(),Encoding.UTF8);如果是UTF8当然正... 我用的抓取代码是

reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);

如果是UTF8当然正常。

但是如果是gb2312就出现乱码。

换用

reader = new StreamReader(response.GetResponseStream(), Encoding.Default);

gb2312的正常了,UTF8的又出现乱码了。

可问题在于,我没办法在抓取之前确定要抓取的网页是什么编码的。

怎样才能让程序自动选择编码或者用什么其它方法解决这个问题呢?
在抓取网页之前,我根本不知道网页编码是什么啊。

软件是给其它人用的。

--------------------------------------

重复抓取倒是个办法,可是效率太差了点吧!
展开
 我来答
mj390
2009-06-09 · TA获得超过262个赞
知道小有建树答主
回答量:225
采纳率:0%
帮助的人:230万
展开全部
<head>里一般都有注明
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

我知道你是抓网页啊,你先分析网页的HTML(随便什么编码,英文是不会乱码的),根据<head>里的标识再重新分析
------------
呵呵,我想不出更好的办法了,要不你分数加高点,看看有没有人有更好的办法
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式