c#使用nsoup解析html乱码解决方法分享 nsoup教程
下载地址:http://nsoup.codeplex.com/
简单用法如下:
NSoup.Nodes.Document doc = NSoup.NSoupClient.Parse(HtmlString);
处理网络上的页面:
NSoup.Nodes.Document doc = NSoup.NSoupClient.Connect("http://www.jb51.net/").Get();
但是遗憾的是NSoup默认的编码是UTF-8,处理中文有乱码(对于编码是UTF-8的自然不会有乱码,但是有些GB2312的就可能有乱码,谢谢 forhells的提醒)。
目前我找到两种解决办法:
1.下载网页源代码再处理
WebClient webClient = new WebClient();
String HtmlString=Encoding.GetEncoding("utf-8").GetString(webClient.DownloadData("http://www.jb51.net"));
NSoup.Nodes.Document doc = NSoup.NSoupClient.Parse(HtmlString);
WebRequest webRequest=WebRequest.Create("http://www.jb51.net");
NSoup.Nodes.Document doc = NSoup.NSoupClient.Parse(webRequest.GetResponse().GetResponseStream(),"utf-8");
第二种用着比较方便,但是我觉得第一种比较合适,毕竟NSoup是个Html解析类,下载网页代码这种事情本来不应该交给它。
相关推荐
-
C#读取中文文件出现乱码的解决方法
本文实例讲述了C#读取中文文件出现乱码的解决方法.分享给大家供大家参考.具体分析如下: 先来看这段代码: FileStream aFile = new FileStream(SingleFile,FileMode.Open); StreamReader sr = new StreamReader(aFile,Encoding.GetEncoding("gb2312"),true); string FileContent = sr.ReadToEnd(); aFile.Close();
-
c#判断字符是否为中文的三种方法分享(正则表达式判断)
1.用ASCII码判断 在 ASCII码表中,英文的范围是0-127,而汉字则是大于127,具体代码如下: 复制代码 代码如下: string text = "是不是汉字,ABC,柯乐义"; for (int i = 0; i < text.Length; i++) { if ((int)text[i] > 127) Console.WriteLine("是汉字");
-
C#自定义繁体和简体字库实现中文繁体和简体之间转换的方法
本文实例讲述了C#自定义繁体和简体字库实现中文繁体和简体之间转换的方法.分享给大家供大家参考.具体分析如下: 这里使用C#自定义繁体和简体字库实现中文繁体和简体之间的转换,由于需要自定义繁体和简体的一对一字库,所以代码会比较长 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace Dome { class P
-
C# mysql 插入数据,中文乱码的解决方法
有两种解决办法: 一种是在执行语句前面设置,如: 复制代码 代码如下: MySQLCommand mCommand = new MySQLCommand("set names gb2312", m_Connection); 另一种是直接加在连接字符串里,如: 复制代码 代码如下: <add name="connection" connectionString="server=127.0.0.1;UId=root;PassWord=root;Persi
-
C#利用微软自带库进行中文繁体和简体之间转换的方法
本文实例讲述了C#利用微软自带库进行中文繁体和简体之间转换的方法.分享给大家供大家参考.具体分析如下: 下面的代码是一个简单的转换范例,真正的核心转换语句只有一句话,其它的都是界面和数据相关的,使用前需要引用Microsoft.VisualBasic这个类库 /// <summary> /// 转繁体 /// </summary> /// <param name="sender"></param> /// <param name=&
-
c#中文gbk编码查询示例代码
复制代码 代码如下: private void button_Inquriy_Click(object sender, EventArgs e) { if (textBox_Inquiry.TextLength > 0) { String strInquiry = textBox_Inquiry.Text; byte[] bytes = Encoding.GetEncoding("GB2312").GetBytes(strInqui
-
C#统计字符串里中文汉字个数的方法
如何从C#获取字符串中汉字的个数?C#中使用正则表达式来从字符串中判断出汉字,然后计数,从而得到字符串中的汉字个数. 先看这段代码: 复制代码 代码如下: //首先引用命名空间 using System.Text.RegularExpressions; //定义一个函数,返回字符串中的汉字个数 public static int GetHanNumFromString(string str) { int count = 0; Regex regex = new Regex(@"^
-
c#通过unicode编码判断字符是否为中文示例分享
复制代码 代码如下: protected bool IsChineseLetter(string input,int index){int code = 0;int chfrom = Convert.ToInt32("4e00", 16); //范围(0x4e00-0x9fff)转换成int(chfrom-chend)int chend = Convert.ToInt32("9fff", 16);if (input != ""){code = C
-
c#使用nsoup解析html乱码解决方法分享 nsoup教程
下载地址:http://nsoup.codeplex.com/ 简单用法如下: 复制代码 代码如下: NSoup.Nodes.Document doc = NSoup.NSoupClient.Parse(HtmlString); 处理网络上的页面: 复制代码 代码如下: NSoup.Nodes.Document doc = NSoup.NSoupClient.Connect("http://www.jb51.net/").Get(); 但是遗憾的是NSoup默认的编码是UTF-8,处理
-
Spring MVC参数传递中文乱码解决方法分享
概述 中国特色社会主义乱码问题是我们经常会碰到的问题,解决的办法有很多,本文分别介绍了GET方式和POST方式中文乱码解决方案中一劳永逸的办法. GET提交中文乱码解决方案 在乱码的Controller文件中采用下面的方法将编码转换成UTF-8 String str = new String(request.getParameter("参数名").getBytes("iso-8859-1"), "utf-8"); 修改项目所在的Tomcat服务器
-
thinkphp3查询mssql数据库乱码解决方法分享
thinkphp查询mssql数据库出现乱码的原因是ThinkPHP默认为UTF-8,而msmsql数据库是简体中文版,存储的是GB2312编码 解决方法: 1:在ThinkPHP\Lib\Core 打开Db.class.php,在其最后面加上2:在Db.class.php找到function select(),在$result = $this->query($sql);后面加一条 $result=iconv2utf8($result),就OK了 复制代码 代码如下: public functi
-
jsp地址栏传中文显示乱码解决方法分享
test1.jsp页面: 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>My JS
-
php ckeditor上传图片文件名乱码解决方法
打开editor/filemanager/connectors/php目录下commands.php,找到FileUpload函数,在 复制代码 代码如下: $sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) ) ; $sExtension = strtolower( $sExtension ) ; 后添加 复制代码 代码如下: $sFileName = rand(0,100).".".$sExtensi
-
javaBean的基础知识及常见乱码解决方法
javaBean的基础知识及常见乱码解决方法 乱码问题应该是做javaWeb开发人员都遇到过的问题吧,这个问题当时还影响了我学习Java的想法,甚至有过想放弃的想法,没办法,当时年轻,呵呵.其实产生乱码问题的原因有很多,解决乱码的问题也有很多,现在就一一来看一下: 出现乱码的地方大致可以分为以下三种: 1 jsp页面中 2 jsp页面之间相互传参的参数 3 与数据库中数据的存取 解决方案大致可以分为三种: 1 出现在jsp页面中,是由于没有设置jsp页面的中文字符编码. 2 出现在jsp页面
-
mysql导入导出数据中文乱码解决方法小结
linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码: 复制代码 代码如下: mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql 那么导入数据的时候也要使用-
-
wxPython窗口中文乱码解决方法
本文实例讲述了wxPython窗口中文乱码解决方法,分享给大家供大家参考.具体方法如下: 文件保存为 utf-8 文件开头添加 # -*- coding: utf-8 -*- 在有中文字符串前加u或U,例如:u"我的网站:http://www.jb51.net" 示例如下: 复制代码 代码如下: # -*- coding: utf-8 -*- import wx class App(wx.App): def OnInit(self): frame = wx.
-
jquery的ajax()函数传值中文乱码解决方法介绍
复制代码 代码如下: $.ajax({ dataType : 'json',type : 'POST',url : 'http://localhost/test/test.do',data : {id: 1, type: '商品'},success : function(data){ } } ); 问题: 提交后后台action程序时,取到的type是乱码 解决方法: 方法一:提交前采用encodeURI两次编码,记住一定是两次 1.修改以下代码 复制代码 代码如下: data:{id:1, t
-
远程linux xshell下输出中文乱码解决方法
使用xshell登录中文版CentOS或者redhat时,在xshell下如果输出的是中文的话可能会显示乱码,通过如下办法可以有效的解决乱码问题 linux中文乱码解决方法如下: 复制代码 代码如下: [root@localhost ~]# cd /etc/sysconfig/ [root@localhost sysconfig]# cp i18n i18n.bak #备份i18n文件 [root@localhost sysconfig]# echo "" >i18n [root
随机推荐
- 分享下程序员/设计师能用上的 75 份速查表
- 使用Perl创建指定编码格式(如utf-8)文件的实现代码
- extjs两个tbar问题探讨
- js动态改变select选择变更option的index值示例
- phpsir 开发 一个检测百度关键字网站排名的python 程序
- asp.net实现多个文件同时下载功能
- JS JSOP跨域请求实例详解
- 用 Composer构建自己的 PHP 框架之设计 MVC
- php技巧小结【推荐】
- 分析Python中设计模式之Decorator装饰器模式的要点
- android 动态控制状态栏显示和隐藏的方法实例
- jQuery插件Echarts实现的双轴图效果示例【附demo源码下载】
- Jquery数字上下滚动动态切换插件
- swing中Tree与滚动条用法实例分析
- JAVA中字符串函数subString的用法小结
- php使用递归与迭代实现快速排序示例
- Android 5.0以上Toast不显示的解决方法
- 解决webview调用goBack()返回上一页自动刷新闪白的情况
- Android自定义Banner轮播效果
- Python使用matplotlib实现的图像读取、切割裁剪功能示例