使用具有特定编码{J}的Jsoup从html字符串中提取文本

时间:2017-03-10 04:05:48

标签: java string jsoup iso-8859-1

这就是我所拥有的 -

String html = "<p><b>Annie's and Lärabar</b></p>"
运行以下后

-

org.jsoup.nodes.Document doc = Jsoup.parse(html);
Element p= doc.select("p").first();
String s = p.text();
System.out.println(s);

输出 - "Annie's and L?rabar".

字符“ä”成了问号。

我的JVM环境是“iso-8859-1”,在我看来,Jsoup的默认编码是utf-8。我想在解析html字符串时强制Jsoup.parse()使用“iso-8859-1”。

我阅读了API和googled示例,但我找不到任何一个示例,表明Jsoup.parse()在解析字符串时实际上可以采用特定的编码?

有人可以帮忙吗?提前谢谢!

-Cyn

1 个答案:

答案 0 :(得分:0)

您可以将字符集设置为Document,如下所示

org.jsoup.nodes.Document doc = Jsoup.parse(html);
doc.charset(Charset charset);
Element p= doc.select("p").first();
String s = p.text();

希望这有帮助。 请参阅:https://jsoup.org/apidocs/org/jsoup/nodes/Document.html#charset-java.nio.charset.Charset-