JAVA通过HTML获取网页内容,中文显示乱码

JAVA通过HTML获取网页内容,中文显示乱码,第1张

java内部编码使用utf-16,需要先用网页的编码解析从网页获取的bytes数组,例如如果网页用gbk,转换可以写成new String(bytes,"gbk")。

另外你的流读取有点怪,应该是写错了吧

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

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

Systemoutprintln(data);

URL url = new URL(">

举个例子,现在我们都会汉语,有一天一个日本鬼子(客户端请求的数据,拥有和你不同的编码)来了和你(服务端是另一种编码格式)对话。你会想着他会说什么王八蛋之类,但是他却说的八嘎呀路,这时候你就蒙了!用你的语言根本不理解也不知道他说的是什么,所以你的脑海里出现了很多问号代表你解释不了

java文件读取的时候有中文就很出现乱码,通常获取到的文件中通常都是“iso8859-1”格式,需要转换为“UTF-8”格式。

如:String str = new String(strgetByte("iso8859-1"),"UTF-8");进行下强制转换后在进行读取即可。

备注:通常格式有GBK、UTf-8、iso8859-1、GB2312,如果上面的强制转换不成功,依次进行这些格式的尝试,肯定是可以解决问题的。

get方式提交的参数编码,只支持iso8859-1编码。

因此,如果里面有中文。

在后台就需要转换编码,如下

String zhongwen = requestgetParameter("zhongwen");

zhongwen = new String(zhongwengetBytes("iso8859-1"),"GBK");

前提是你页面编码就是GBK,如果是utf-8,那上面那句代码后面就改成utf-8

URLConnection context = urlopenConnection();

InputStream in = contextgetInputStream();

BufferedReader br = new BufferedReader(new InputStreamReader(in, "gbk"));

包装流的时候要加入网站的编码 ,gbk和utf-8都试试

以上就是关于JAVA通过HTML获取网页内容,中文显示乱码全部的内容,包括:JAVA通过HTML获取网页内容,中文显示乱码、java怎么把网页乱码、用java HttpURLConnection 读取网页中文乱码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9604732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存