HTMLCLEANER处理西班牙语字符

时间:2012-04-24 14:07:18

标签: java html htmlcleaner

我正在使用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);

2 个答案:

答案 0 :(得分:2)

除非指定,否则HtmlCleaner使用从JVM读取的默认字符集。在Windows上,这将是Cp1512而不是UTF-8,这可能是它出错的地方。

你可以

  • 在JVM起始行上指定-Dfile.encoding=UTF-8
  • 使用接受字符集的HtmlCleaner.clean()重载

    TagNode tagNode = new HtmlCleaner(props).clean(file, "UTF-8");
    

    (如果您在项目中获得了Google Guava,则可以使用Charsets.UTF_8作为常量)

  • 使用HtmlCleaner.clean()重载,该重载接受您已使用正确字符集构建的InputStreamReader。

答案 1 :(得分:0)

您可以将UTF-8更改为UTF-16

它将支持最大字符数。