我正在尝试使用包含以下文本的JSoup来填充URL:Ætterni
。
解析文档后,相同的字符串如下所示:Ætterni
。
如何防止此表单发生?我希望文档1:1与它完全一样。
代码:
doc = Jsoup.connect(url).get();
String docEncoding=doc.outputSettings().charset().name();
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(localLink),docEncoding);
writer.write(doc.html());
writer.close();
答案 0 :(得分:5)
使用
doc.outputSettings().escapeMode(EscapeMode.xhtml);
避免实体转换。
答案 1 :(得分:2)
你似乎没有以任何方式利用Jsoup的力量。我只是使用java.net.URL
流式传输HTML plain。这样您就可以获得1:1的响应副本。
InputStream input = new URL(url).openStream();
OutputStream output = new FileOutputStream(localLink);
// Now copy input to output the usual Java IO way.
您应该不使用Reader
/ Writer
,因为这可能会使未知编码中的来源字符出错,因为将使用平台默认编码。< / p>