Java抓取charset问题

时间:2012-06-04 08:33:03

标签: java eclipse ubuntu character-encoding wikipedia

我正在用 Java 抓取维基百科页面,以便提取信息框中包含的信息。

除了字符编码外,一切正常。 维基百科页面使用“UTF-8”编码。

Ubuntu eclipse控制台也使用“UTF-8”作为默认编码。 但是,eclipse控制台在显示信息时会显示一些奇怪的符号。 (例如:Smith Â· Ricardo}代替Smith · Ricardo

这是我用来读取数据的函数(它遍历节点的所有后代并在最后连接它们的文本信息):

private String getTextContent(Node node) {
    String text = "";
    List<Node> children = null;     

    if (isTextNode(node)) {
        return node.getNodeValue();
    }
    else if (!node.hasChildNodes()) {
        return "";
    }
    else {
        children = toList(node.getChildNodes());
        for (Node childNode : children) {
            text += getTextContent(childNode);
        }
    }
    return text;
}

我忘了提到我正在使用 JTidy 库进行抓取。

2 个答案:

答案 0 :(得分:1)

控制台可能正确地解释了UTF-8,但如果在通过网络读取数据时编码错误,那么您将遇到问题。

指定UTF-8作为要使用的JTidy的编码。

答案 1 :(得分:0)

转到Eclipse Project右键单击&gt;运行配置&gt; Common选项卡,然后在那里检查UTF-8。

相关问题