该文字来自网页,已在ISO-8859-1
;
首先让我向您展示一个问题的示例。我们来自网页Mark Helström
的其中一段文字。当我使用Jsoup
解析页面时,该文本将变为:Mark Helström
以下是网页代码的示例:
<body>
<p>Mark Helström</p>
</body>
以下是我解析网页的代码:
String url = "http://localhost:8080/translator/test";
Document doc = Jsoup.connect(url).get();
System.out.println("charset=" + doc.outputSettings().charset());
doc.outputSettings().charset(Charset.forName("ISO-8859-1"));
System.out.println("charset=" + doc.outputSettings().charset());
for(Element code : doc.select("*")) {
System.out.println("code=" + code.ownText());
}
以下是上述代码生成的输出:
charset=ISO-8859-1
charset=ISO-8859-1
code=
code=
code=
code=
code=Mark Helström
答案 0 :(得分:0)
当我为这些字符解析此页面时似乎工作正常。
Document doc = Jsoup
.connect("http://stackoverflow.com/questions/38875180/jsoup-is-encoding-iso-8859-1-text-thats-on-a-webpage-to-another-encoding")
.get();
System.out.println("charset=" + doc.outputSettings().charset());
doc.outputSettings().charset(Charset.forName("ISO-8859-1"));
System.out.println("charset=" + doc.outputSettings().charset());
for (Element code : doc.select(".post-text p code:contains(mark)"))
System.out.println("code=" + code.ownText());
<强>控制台强>
charset=UTF-8
charset=ISO-8859-1
code=Mark Helström
code=Mark Helström