高分求助:为什么在用java程序获得网页编码格式时charset找不到?
千山独行 2008-09-02 02:07:28 html网页的内容大致如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>CSDN首页</title>
...
</head>
<body>
.....
</html>
我使用以下语句抓取类似上面的网页:
URL url = new URL("http://www.csdn.net");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
//建立连接后,使用下面两句取得网页的编码格式
String contentType = connection.getHeaderField("Content-Type");
contentType = connection.getContentType();
无论是哪一句,得到的contentType的值都是text/html,而不包含后面的charset=gb2312,这是为什么?
我注意到一个问题,content="text/html; charset=gb2312"这里,在;和charset之间有一个空格,是否因为这个空格的缘故,而不能得到content-type的准确值
还有没有其他的办法可以得到页面的编码字符集?