真正解决HtmlAgilityPack抓取网页 中文乱码问题

HTMLAgilityPack官方Dll处理汉字时出现乱码。

解决方案:

1.打开官方提供的Source项目

2.找到HtmlAgilityPack项目

3.找到“ private HttpStatusCode Get 方法”

4.按如下修改代码

//原官方代码 //Encoding respenc = !string.IsNullOrEmpty(resp.ContentEncoding) // ? Encoding.GetEncoding(resp.ContentEncoding) // : null; //修改中文乱码问题 System.Text.Encoding respenc; if ((resp.ContentEncoding != null) && (resp.ContentEncoding.Length > 0)) { respenc = System.Text.Encoding.GetEncoding(resp.ContentEncoding); } else if ((resp.CharacterSet != null) && (resp.CharacterSet.Length > 0))//根据Content-Type中获取的charset编码 { if (string.Compare(resp.CharacterSet, "ISO-8859-1", true, System.Globalization.CultureInfo.InvariantCulture) == 0) respenc = System.Text.Encoding.GetEncoding("GB2312"); else respenc = System.Text.Encoding.GetEncoding(resp.CharacterSet); } else { respenc = System.Text.Encoding.GetEncoding("GB2312"); } //编码修改结束

上个修改后的HtmlAgilityPack抓取网页中文正常显示的图片

转载于:https://www.cnblogs.com/Renn/archive/2011/05/12/2048339.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值