Java 一个页面上有两个字符集标签,该使用哪一个?
我正在抓取页面以获取信息,在Groovy中解析页面时遇到了很多问题。我使用juniversal chardet制作了一个半解决方案,它在大多数情况下都有效,只需扫描页面的头部标记,但有时在一个页面上会发现其中两个标记,例如:Java 一个页面上有两个字符集标签,该使用哪一个?,java,html,parsing,groovy,web-crawler,Java,Html,Parsing,Groovy,Web Crawler,我正在抓取页面以获取信息,在Groovy中解析页面时遇到了很多问题。我使用juniversal chardet制作了一个半解决方案,它在大多数情况下都有效,只需扫描页面的头部标记,但有时在一个页面上会发现其中两个标记,例如: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ... <meta http-equiv="Content-Type" content="text/html; ch
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
...
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
...
是否有使用哪一个的标准(第一个、最后一个、两个?)或更简单的方法?谢谢。HTML规范未定义此行为。同一文档中不能有两个单独的内容类型标记。由于您可能无论如何都必须解析此文档,因此最好是对开发人员的意图进行有根据的猜测。我会试探性地这样做:
- 一切都是ASCII码吗?如果是这样的话,你用哪一个并不重要
- 它是否符合有效的UTF-8?如果是的话,我会用这个
- 否则,请使用ISO-8859-1