Java HtmlCleaner:不处理扩展的ascii字符

时间:2012-05-16 16:38:29

标签: java ascii extended-ascii htmlcleaner

我正在使用HTMLCleaner清理HTML文件,其中包含'€'(ascii decimal 128),'TM'(ascii decimal 153)等字符。即,ASCII扩展表中的字符< /强>

HTMLCleaner无法处理这些字符并用字符“?”替换它们(ascii decimal 63)。

我是否可以在HTMLCleaner中设置任何标志来处理这些字符?

提前致谢。

修改 变量“encoding”是“iso-8859-1”,就像源文件编码一样。

    try {
        System.out.print("Parsing and cleaning:" + fileStr);
        URL url = new File(this.fileStr).toURI().toURL();
        // create an instance of HtmlCleaner
        HtmlCleaner cleaner = new HtmlCleaner();
        // default properties
        CleanerProperties props = cleaner.getProperties();
        // do parsing
        TagNode tagNode = new HtmlCleaner(props).clean(url);
        // serialize to XML file
        new PrettyXmlSerializer(props).writeToFile(tagNode, fileStr,
                encoding);
        System.out.println("Output: " + fileStr);
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

我刚刚想出来了。这一行:

TagNode tagNode = new HtmlCleaner(props).clean(url);

Shoube被替换为:

TagNode tagNode = new HtmlCleaner(props).clean(url, encoding);

其中'encoding'是源URL的字符集的字符串表示。

谢谢!

1 个答案:

答案 0 :(得分:1)

您是否尝试设置charset