我正在使用HtmlCleaner库来解析/转换java中的HTML文件。
似乎无法处理西班牙语字符,例如"ÁáÉéÍíÑñÓóÚúÜü"
我可以在 HtmlCleaner 中设置任何属性来处理此解决方案或任何其他解决方案吗?这是我用来调用它的代码:
CleanerProperties props = new CleanerProperties();
props.setRecognizeUnicodeChars(true);
java.io.File file = new java.io.File("C:\example.html");
TagNode tagNode = new HtmlCleaner(props).clean(file);
除非
指定,否则 HtmlCleaner 使用从 JVM 读取的默认字符集。在Windows上,这将是Cp1512而不是UTF-8,这可能是它出错的地方。
你可以
- 在 JVM 启动行上指定
-Dfile.encoding=UTF-8
使用接受字符集的
HtmlCleaner.clean()
重载TagNode tagNode = new HtmlCleaner(props).clean(file, "UTF-8");
(如果你在项目中有谷歌番石榴,你可以使用
Charsets.UTF_8
作为常量)- 使用接受已使用正确字符集构造的输入流读取器的
HtmlCleaner.clean()
重载。
您可以将UTF-8
更改为UTF-16
。
它将支持最大字符数。