gpt4 book ai didi

Java - Html 特殊字符

转载 作者:太空宇宙 更新时间:2023-11-04 07:35:02 26 4
gpt4 key购买 nike

我想对 HTML 文件发出一些 XPath 请求。这是我的代码:

public static void main(String args[]) {

try{

/** We load the HTML file we want to parse */
BufferedReader br = new BufferedReader(new InputStreamReader (new FileInputStream("html_doyoubuzz.html"),"UTF-8"));


/** we clean HTML file */
TagNode tagNode = new HtmlCleaner().clean(br);
Document doc2 = new DomSerializer( new CleanerProperties() ).createDOM(tagNode);


/******************************
* *
* XPath Requests *
* *
******************************/

XPath xpath = XPathFactory.newInstance().newXPath();

Object dates_experience = xpath.evaluate("/html/body/div[3]/div/div/div[2]/div/div/div[2]/div[4]/div/div[3]/h4/span[2]", doc2, XPathConstants.NODESET);

NodeList nodes = (NodeList) dates_experience;
String s;

for (int i = 0; i < nodes.getLength(); i++) {
s = org.apache.commons.lang3.StringEscapeUtils.unescapeHtml4(nodes.item(i).getTextContent());
System.out.println(s);
}



}
catch (Exception e){//Catch exception if any
e.printStackTrace();
}
}

我的 HTML 文件采用 UTF-8 编码(如元标记中所写)。我的问题是输出。我明白了:

d?cembre 2010 - d?cembre 2010)
f?vrier 2010 - juin 2010)
juillet 2009 - septembre 2009)
juin 2009 - juin 2009)
juillet 2008 - ao?t 2008)

而不是这个,这是我想要的输出:

décembre 2010 - décembre 2010)
février 2010 - juin 2010)
juillet 2009 - septembre 2009)
juin 2009 - juin 2009)
juillet 2008 - août 2008)

你有办法解决这个问题吗?

谢谢。

最佳答案

如果您指的是java控制台中的输出,您可以更改控制台编码。控制台编码是默认操作系统编码。您可以在下面的链接中更改 Eclipse。

http://decoding.wordpress.com/2010/03/18/eclipse-how-to-change-the-console-output-encoding/

如果你不使用eclipse,你可以为windows添加系统参数

-Dfile.encoding=utf-8

你也可以尝试

System.setOut(new PrintStream(System.out, true, "utf-8"));

关于Java - Html 特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17019206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com