我正在尝试从中文网站读取HTML并获得consume()
值。所有使用UTF-8编码的网站都可以正常使用,但不适用于GB2312网站(例如,m.39.net,显示<title>
而不是39������_�й����ȵĽ����Ż���վ
)。
以下是我用来完成的代码:
39健康网_中国领先的健康门户网站
答案 0 :(得分:1)
String content = IOUtils.toString(inputStream, "GB2312");
可以提供帮助。
如果您想检测网页的字符集,据我所知,有3种方法:
connection.getContentEncoding()
获取HTTP标头中描述的字符集; <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
或<meta charset="UTF-8">
(必须先下载HTML内容,然后阅读几行); 答案 1 :(得分:0)
您见过http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/IOUtils.html
吗?toString(byte[] input, String encoding)