爲了提取信息框內包含的信息,我正在用維基百科頁面Java。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庫進行抓取。
向我們展示一些代碼 - 當您讀取數據時是否明確指定了編碼? –
當我讀取數據時,我沒有指定任何編碼。 – user278064
你知道,你不需要屏幕維基百科?你可以[全部下載](http://dumps.wikimedia.org/)! –