我用WebRequest获取的远程页面的HTML代码,怎么有乱码呀?
源程序如下:
string URL = "http://www.aaa.com";
HttpWebRequest WRq = (HttpWebRequest)WebRequest.Create(@url);
HttpWebResponse WRs = (HttpWebResponse)WRq.GetResponse();
Stream S = WRs.GetResponseStream();
StreamReader R = new StreamReader(S,System.Text.Encoding.UTF8);
string Str = R.ReadToEnd();
Response.Write(Str);
我已经做过编码转换了,怎么还有乱码呢?163的没有,但其它的很多网站都有。
问题点数:20、回复次数:7Top
1 楼sandheart(沙漠心)回复于 2006-03-11 14:35:52 得分 0
请能帮我看一下?Top
2 楼qugui(阿贵)回复于 2006-03-11 18:52:35 得分 10
看他网页指定的编码格式,多用gb2312,big5的,这个时候用utf8就有可能出错Top
3 楼lgnet(www.51bw.net)回复于 2006-03-12 15:41:08 得分 0
你的问题关键不在页面的编码问题!
你看一下你获得的源代码中,是否存在类似这样的代码:
<input type="hidden" name="__VIEWSTATE" value="dDwtMTQxMDgxNzQ0NTt0PDtsPGk8MT47PjtsPHQ8O2w8aTwwPjs+O2w8dDw7bDxpPDA+Oz47bDx0PDtsPGk8MT47aTwzPjs+O2w8dDxwPHA8bDxUZXh0Oz47bDwyNjs+Pjs+Ozs+O3Q8cDxwPGw8VGV4dDs+O2w8OTk3NDs+Pjs+Ozs+Oz4+Oz4+Oz4+Oz4+Oz7aMB31NmaeBB3+JqDSPKlRSx42XQ==" />
你测试着去掉这样的代码,那么页面也许会正常的显示!Top
4 楼winner2050(找工作中,各位XD收到风,M一下。)回复于 2006-03-12 19:59:14 得分 5
System.Text.Encoding.UTF8
换成
System.Text.Encoding.DefaultTop
5 楼sandheart(沙漠心)回复于 2006-03-13 13:57:51 得分 0
lgnet(www.51bw.net) :
没有那样的代码。
winner2050(winner):
UFT8和Default我都试过了,都不行。
qugui(阿贵):
它页面里的编码是这样的:
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
我抓的就是www.google.com的页面。Top
6 楼sandheart(沙漠心)回复于 2006-03-14 13:22:15 得分 0
有没人知道?Top
7 楼dnboy(computerboy)回复于 2006-03-14 13:31:29 得分 5
bu 不清楚,我以前写的就没有出现问题,编码是用的defaultTop




