首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GB2312中的没有正确显示

GB2312中的没有正确显示
EN

Stack Overflow用户
提问于 2016-01-11 20:08:30
回答 2查看 280关注 0票数 1

我试着从中国的网站中阅读HTML并得到它们的<title>值。所有使用UTF-8编码的网站都能正常工作,但对于GB2312网站则不适用(例如,m.39.net,它显示的是39������_�й����ȵĽ����Ż���վ而不是39健康网_中国领先的健康门户网站)。

下面是我用来实现这一目标的代码:

代码语言:javascript
复制
URL url = new URL(urlstr);
URLConnection connection = url.openConnection();
inputStream = connection.getInputStream();
String content = IOUtils.toString(inputStream);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-12 03:14:59

String content = IOUtils.toString(inputStream, "GB2312");可能会提供帮助。

如果您想检测网页的字符集,据我所知,有三种方法:

  1. 使用connection.getContentEncoding()获取header中描述的字符集;
  2. 在HTML代码中解析<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"><meta charset="UTF-8"> (必须先下载HTML内容,然后读取几行);
  3. 使用第三方图书馆。例如本question中提到的那些。
票数 1
EN

Stack Overflow用户

发布于 2016-01-12 03:23:36

你见过http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/IOUtils.html吗?

代码语言:javascript
复制
toString(byte[] input, String encoding)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34730163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档