问题描述
做了一个小程序循环读取baidu的搜索结果,有一个非常奇怪的问题,有几个关键词,居然无论怎么设置,用request读取的网页内容中都包括很多乱码,不知道是我程序的问题还是baidu的设置,有高手可以帮我试下嘛,用request方法直接读取这个网址就可以http://www.baidu.com/s?q1=002179&q2=&q3=&q4=&rn=100&lm=1&ct=0&ft=&q5&q6=&tn=baiduadv
解决方案
本帖最后由 shi02fg 于 2012-04-23 01:10:13 编辑
解决方案二:
utf-8
解决方案三:
控件,,用htmltopdf
解决方案四:
<metahttp-equiv="content-type"content="text/html;charset=utf-8">
解决方案五:
百度、新浪这些网站用的编码方式都是gb2312的,不是utf-8的
解决方案六:
网页的中文一般情况下要么是gb2312要么是utf-8如果gb2312出现乱码请写成utf-8反过来也是。。。。
解决方案七:
引用楼主的回复:
做了一个小程序循环读取baidu的搜索结果,有一个非常奇怪的问题,有几个关键词,居然无论怎么设置,用request读取的网页内容中都包括很多乱码,不知道是我程序的问题还是baidu的设置,有高手可以帮我试下嘛,用request方法直接读取这个网址就可以http://www.baidu.com/s?q1=002179&q2=&q3=&q4=&rn=100&a……
只要拿一个页面的几个关键词乱码嘛?看看接受编码是什么?设置那个页面的编码为相应的编码
解决方案八:
将编码换成gb2312或者utf-8
解决方案九:
<metahttp-equiv="content-type"content="text/html;charset=gb2312">
解决方案十:
stringhtml="";HttpWebRequesthWebRequest=(HttpWebRequest)WebRequest.Create(uri);WebResponseResponse=hWebRequest.GetResponse();HttpWebResponsewr=(HttpWebResponse)hWebRequest.GetResponse();StreamReadersr=newStreamReader(Response.GetResponseStream(),Encoding.GetEncoding("UTF-8"));//这里设置编码html=sr.ReadToEnd();
解决方案十一:
编码问题
解决方案十二:
这个和系统区域环境设置有关
解决方案十三:
看看与百度的编码是否一致?
解决方案十四:
用gb2312读取
解决方案十五:
设置格式为"UTF-8"是正解,但是很奇怪,baidu搜索的页面似乎是采用了不同的编码方法,不同词对应着不同的编码方法
解决方案:
在他是参数里有ie=gb2312oe=gb2312则编码为gb2312默认为utf-8引用14楼的回复:
设置格式为"UTF-8"是正解,但是很奇怪,baidu搜索的页面似乎是采用了不同的编码方法,不同词对应着不同的编码方法