「java抓取网页乱码」java页面乱码怎么解决

博主:adminadmin 2023-01-23 03:51:07 431

今天给各位分享java抓取网页乱码的知识,其中也会对java页面乱码怎么解决进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java写的网页抓取,出现了乱码情况,求教。

这个跟你要抓取的网页相关、

你要看网页默认设置的是什么

编码

。比如

百度

:在

页面

上点右键

选择编码

默认的为gb2312

所以你抓百度的时候就应该用gb2312

、而csdn默认的是utf-8、你抓取的时候就应该设置成utf-8。亲测可用、希望能帮到你。

(测试环境

ie

、空白地方点右键

找到编码就能看到页面的默认编码、不同

浏览器

查看编码情况不同,视情况而定)

java使用htmlparser抓取网页信息,中文字符显示为“??”,如何解决?

建议采用jsoup来抓取和解析文件。

jsoup支持css选择器。

下面是一个简单的例子:

Document doc = Jsoup.parse(in/*文件流*/, charset/*字符集*/, service/*相对地址*/);

Element e = doc.select("div[id=myid]").get(0);// 用选择器选择元素

ListNode childs = new LinkedListNode(e.childNodes());

for (IteratorNode iter = childs .iterator(); iter.hasNext();) {

   iter.next().remove();// 移除找到元素的所有子元素

e.appendText("sometext");    // 追加新内容

String content = doc.html(); // 生成结果

用java HttpURLConnection 读取网页中文乱码

出现这种情况,说明读取到的是iso8859-1格式,不能识别中文编码,所以需要转换一下编码格式才可以正常显示的,完整代码举例:

String data = "version=1410idType=101idNumber=4107701214512ext1=1";

System.out.println(data);

URL url = new URL("");

StringBuffer bankXmlBuffer = new StringBuffer();

//创建URL连接,提交到银行卡鉴权,获取返回结果

HttpURLConnection connection = (HttpURLConnection) url.openConnection();

connection.setRequestMethod("GET");

connection.setDoOutput(true);

connection.setRequestProperty("User-Agent", "directclient");

PrintWriter out = new PrintWriter(connection.getOutputStream());

out.println(data);

out.close();

BufferedReader in = new BufferedReader(new InputStreamReader(connection

.getInputStream()));

String inputLine;

while ((inputLine = in.readLine()) != null) {

bankXmlBuffer.append(inputLine);

}

in.close();

String data = new String(bankXmlBuffer.toString().getBytes("iso-8859-1"), “utf-8”);

System.out.println(data);

java怎么把网页乱码

1.javaweb怎么处理中文乱码

1.UTF-8国际编码,GBK中文编码。GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立;

2、web tomcat:默认是ISO8859-1,不支持中文的

3.java.nio.charset.Charset.defaultCharset() 获得平台默认字符编码;

4.getBytes() 是通过平台默认字符集进行编码;

二、引入

在学习任何一门技术时,经常会有初学者遇到中文乱码问题,比如MySQL,是因为在安装时没有设置;而在Servlet中,也会遇到中文乱码问题;

比如:

OutputStream out = response.getOutputStream();

out.write(String );

输出中文时可能会出现乱码;

比如:

[java] view plain copy

2.如何解决Java WEB应用中的乱码问题

一方面代码里面的设置,比如在jsp里,

另一方面就是eclipse的设置,idea不熟悉,

一般就那几个地方,一,在eclipse里右键项目名字-resource,会有text file encoding的设置

二,菜单栏里Windows- preferences- 可以在搜索条里搜encod, 会出来两个,content type 和workspace 这两个地方也是设置字符集的

或者直接找General -- workspace 同上设置 ,General- Content Type 这里面是各种文件的编码格式,看下乱码的文件格式,如是注释文件,xml,或者java,dtd等

3.JAVA开发中,常见的乱码有哪几种,如何解决

1、浏览器调用jsp,html等页面中文显示乱码

此情况需满足两个要求:

(1)文件本身是以utf-8编辑保存的(myEclipse中在properties中鼠标右键选择utf-8)

(2)浏览器用utf-8解析:

(手动)==; 在浏览器中右键选择编码格式为utf-8

(智能)==; 在文件中写入如: 通过标签模拟response头,起到告诉浏览器用utf-8的编码解析

(智能)== response.setContentType("text/html;charset=UTF-8");起到告诉浏览器用utf-8的编码解析

常用:

2、通过浏览器调用servlet,页面显示乱码。

Servlet乱码分为request乱码和response乱码;

(1)response乱码问题

解决方法:

在网上很有效的解决方法是添加:

response.setCharacterEncoding("UTF-8");

解决不了,后来又搜到一条解决方法是:

response.setContentType("text/html;charset=utf-8");或者 response.setHeader("content-type","text/html;charset=UTF-8");告诉浏览器用utf-8解析。(setHeader是HttpServletResponse的方法。如果想在拦截器Filter中设置字符编码,则无此方法,因为Filter的doFilter方法的参数类型是ServletResponse)

两句都填上,后来终于解决了这个问题;

其实我们应该思考一下本质:

response.setContentType("text/html;charset=UTF-8"); 目的是为了控制浏览器的行为,即控制浏览器用UTF-8进行解码;

response.setCharacterEncoding("UTF-8");目的是用于response.getWriter()输出的字符流的乱码问题。如果是response.getOutputStream()是不需要此种解决方案的,因为这句话的意思是为了将response对象中的数据以UTF-8解码后的字节流发向浏览器;

4.解决java中文乱码方法是什么呢

解决java中文乱码:cd /usr/lib/jvm/java-6-sun-1。

6。0。

13/jre/lib/fonts sudo mkdir fallback cd fallback sudo cp /usr/share/fonts/truetype/arphic/uming。 ttc /usr/lib/jvm/java-6-sun-1。

6。0。

13/jre/lib/fonts/fallback sudo mkfontdir sudo mkfontscale 考试大温馨提示:本内容来源于网络,仅代表作者个人观点,与本站立场无关,仅供您学习交流使用。 其中可能有部分文章经过多次转载而造成文章内容缺失、错误或文章作者不详等问题,请您谅解。

如有侵犯您的权利,请联系我们,本站会立即予以处理。 编辑特别推荐: Java读取文件内容再编辑 JS获取单选与多选按纽的值 每一种文件类型所对应的ContentType。

5.如何解决Java项目中的中文乱码

1. 设置工作空间的编码:

编辑器的编码会影响到所有的项目中的字符的显示,可以说是作用最为广泛的设置,每一个项目都会受到这个设置的影响。点击菜单栏中的窗口(Window)— —选项(Preferences)。

点击常规(General)— —工作空间(Wordspace),然后在右侧的文本文件编码格式(Text file encoding)中选择你想要设置的编码格式,系统默认的格式为GBK。

2. 设置项目的编码:

如果其他的项目中不存在乱码问题,只是个别项目显示时出现乱码,那么我们不需要设置工作空间的编码,只需要修改项目的编码即可。

选中项目后,右键点击,在弹出的菜单中点击属性(Properties)。

在弹出的属性窗口中,选择资源(Resource)— —点击选择Other(其他),然后选择你想要的编码格式。

3. 设置单个文件的编码:

只是个别文件出现了乱码,那么设置个别文件的编码格式就可以解决问题了。选中有乱码的文件,然后点击右键。

在弹出的菜单中选择属性(Properties)。

在弹出的属性窗口中选择资源,点击Other(其他)后设置个别文件的编码方式

关于java抓取网页乱码和java页面乱码怎么解决的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。