C# webclient中文乱码问题解决方法
作者:秦风
本文介绍使用webclient抓取远程页面出现乱码的处理方法,希望对大家有所帮助。
webclient在调用DownloadData或者DownloadString的时候请求回来的数据出现乱码问题,解决办法如下:
1、设置webclient的编码格式为目标编码格式
复制代码 代码如下:
WebClient web = new WebClient();//创建webclient对象
web.Encoding = System.Text.Encoding.UTF8;//定义对象语言
string returns = web.DownloadString("_http://www.weather.com.cn/data/sk/101310101.html");//向一个连接请求资源
web.Encoding = System.Text.Encoding.UTF8;//定义对象语言
string returns = web.DownloadString("_http://www.weather.com.cn/data/sk/101310101.html");//向一个连接请求资源
2、先获取数据,然后转码
复制代码 代码如下:
WebClient wc = new WebClient();
Byte[] pageData = wc.DownloadData("http://m.weather.com.cn/data/101110101.html");
string rr = Encoding.GetEncoding("utf-8").GetString(pageData);
Byte[] pageData = wc.DownloadData("http://m.weather.com.cn/data/101110101.html");
string rr = Encoding.GetEncoding("utf-8").GetString(pageData);
总结下来,还是编码的问题,不论哪种方法,设置好编码即可。