[英]java utf-8 encding problem
我正在使用一个名为HTMLCLEANER的HTML解析器来解析HTML页面,问题是每个页面的编码与另一个页面的编码不同。 我的问题
我可以从任何字符编码更改为UTF-8吗?
在不事先知道编码X的情况下,您无法从编码X无缝“转换”到编码Y. 只需检查它所使用的编码的HTTP响应标头(如果您通过HTTP获取这些HTML页面),然后在HTML解析器工具中使用适当的编码。
我可以从任何字符编码更改为UTF-8吗?
是的,您可以用UTF-8编码表达任何Unicode字符。
更改HTML页面的编码时可能会出现问题:例如,如果页面包含“charset”元标记,
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
你必须更新这个标签,以便它对应于实际的编码。
你从哪里获得HTML页面? 如果从servlet请求中获取它,可以在其上使用getReader()并将其传递给clean()
。 这将使用正确的编码。 如果从上传中获取,请将输入流传递给clean()
。 如果您通过http客户端获取它,则需要使用getResponseCharSet()
检查响应头Content-Type
。
public void arreglarString(String cadena) {
for (int i = 161; i < 256; i++) {
char car = (char) i;
cadena = cadena.replaceAll(car + "", "&#" + i);
}
return cadena;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.