0

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

一切正常,除了字符编码。维基百科页面使用“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库进行抓取。

4

2 回答 2

1

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

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

于 2012-06-04T09:02:21.123 回答
0

转到 Eclipse 项目右键单击 > 运行配置 > 通用选项卡并检查 UTF-8 那边。

于 2012-06-04T08:39:18.363 回答