我在获取HTML页面时遇到的编码问题,比如下载CSDN主页,其HTML文件的charset=utf-8
但是我用如下方法获取页面: HttpWebRequest m_Request = (HttpWebRequest)WebRequest.Create("http://www.csdn.net");
HttpWebResponse m_Response = (HttpWebResponse)m_Request.GetResponse(); Stream receive = m_Response.GetResponseStream(); StreamReader reader = new StreamReader(receive, Encoding.GetEncoding("iso-8859-1"));
String result = reader.ReadToEnd();在StreamReader中如果我设置是iso-8859-1编码格式,得到的result竟然含有汉字,这是为什么呢?而且对于此Stream流,此时我无论指定何种编码,最后result都可显示汉字。如果用WebClient就正常了,s1中包含乱码。
WebClient wc = new WebClient();
byte[] data = wc.DownloadData("http://www.csdn.net");
String s1 = Encoding.GetEncoding("ISO-8859-1").GetString(data);
为什么呢?
但是我用如下方法获取页面: HttpWebRequest m_Request = (HttpWebRequest)WebRequest.Create("http://www.csdn.net");
HttpWebResponse m_Response = (HttpWebResponse)m_Request.GetResponse(); Stream receive = m_Response.GetResponseStream(); StreamReader reader = new StreamReader(receive, Encoding.GetEncoding("iso-8859-1"));
String result = reader.ReadToEnd();在StreamReader中如果我设置是iso-8859-1编码格式,得到的result竟然含有汉字,这是为什么呢?而且对于此Stream流,此时我无论指定何种编码,最后result都可显示汉字。如果用WebClient就正常了,s1中包含乱码。
WebClient wc = new WebClient();
byte[] data = wc.DownloadData("http://www.csdn.net");
String s1 = Encoding.GetEncoding("ISO-8859-1").GetString(data);
为什么呢?
解决方案 »
- “CsGL.OSLib”的类型初始值设定项引发异常
- 页面跳转问题,请高手帮忙啊!!万分感谢!!在线等!急!!
- gridview中列替代的问题
- 不同窗体间的事件传递
- 为什么VisualStudio2005不支持一边运行一边编辑代码呢?
- 给点提示
- 100分求救,fat32下读取excel正常,ntfs下出现错误
- 自己写了个汉字选择器,希望用户选择了他要的汉字后,点击插入,将汉字插入到当前输入框中。选择器写好了,可如何将汉字赋值到任何制定输
- 谁位兄弟有C#写的.Net程序,有IP的可以用的?当我输入网址时,就可以看到这套系统!目的是为了想学习一下。
- 在线等待,简单问题,解决后马上给分。。。。。
- ASP.NET中GridView数据库访问问题(急)
- Graphics 绘图中,创建bitmap时报错,,高手帮忙
而返回的Stream又带有BOM
而是指这时StreamReader对于获得的CSDN页面的流为什么没有按照iso-8859-1来解码,反而出现了汉字?