iteye_2198 2008-09-02 02:27
浏览 201
已采纳

获得网页编码格式时charset取不到

html网页的内容大致如下:
[code]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


CSDN首页
...


.....

[/code]
我使用以下语句抓取类似上面的网页:
[code]
URL url = new URL("http://www.csdn.net");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
//建立连接后,使用下面两句取得网页的编码格式
String contentType = connection.getHeaderField("Content-Type");
contentType = connection.getContentType();
[/code]

无论是哪一句,得到的contentType的值都是text/html,而不包含后面的charset=gb2312,这是为什么?

我注意到一个问题,content="text/html; charset=gb2312"这里,在;和charset之间有一个空格,是否因为这个空格的缘故,而不能得到content-type的准确值
还有没有其他的办法可以得到页面的编码字符集?

  • 写回答

3条回答 默认 最新

  • david2003mn 2008-09-02 10:16
    关注

    可以用 HttpClient jar包
    GetMethod method = new GetMethod(url);

    String charset = null;
    if(StringUtils.isEmpty(encoding)){
        charset = method.getRequestCharSet();
        if("ISO-8859-1".equalsIgnoreCase(charset))  //未指定编码时返回ISO-8859-1, 改为默认的GB2312
            charset = "GB2312";
    

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥50 Qt5.14.2怎样使用qlistwidget存储指针类数据并更新?
  • ¥15 STM32多路复用器ADC采样
  • ¥20 Linux(ubuntu)操作相关问题
  • ¥15 python深度学习代码求跑
  • ¥100 对接美团闪购医药接口相关问题
  • ¥15 嵌入式软件电子烟开发
  • ¥15 职场 Excel 查重问题
  • ¥15 求怎么用idea2021.3.2创建web项目并配置tomcat
  • ¥100 or-tools的相关问题
  • ¥15 有可能用平板通过拓展坞来烧录程序吗(keil5的那种)