我正在使用一个称为 HTMLCLEANER 的HTML解析器来解析网页。问题在于每个页面的编码都不同。我的问题是:
我能否将任何字符编码更改为UTF-8?
我能否将任何字符编码更改为UTF-8?
如果你想要无缝地从编码X转换为编码Y,就需要事先知道编码X。只需检查HTTP响应头使用的编码(如果你是通过HTTP获取这些HTML页面),然后在你的HTML解析工具中使用适当的编码即可。
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
你必须更新此标记,以使其对应实际编码。
你从哪里获取HTML页面?如果你从servlet请求中获取它,你可以使用getReader()方法并将其传递给clean()
。这将使用正确的编码方式。如果你通过上传获取它,将输入流传递给clean()
。如果你通过http客户端获取它,你需要检查响应头Content-Type
,使用getResponseCharSet()
。
public void arreglarString(String cadena) {
for (int i = 161; i < 256; i++) {
char car = (char) i;
cadena = cadena.replaceAll(car + "", "&#" + i);
}
return cadena;
}