3

次のテキストを含む 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();
4

2 に答える 2

5

doc.outputSettings().escapeMode(EscapeMode.xhtml); エンティティの変換を回避するために使用 します。

于 2011-12-12T18:08:38.760 に答える
2

あなたは Jsoup の力をまったく利用していないようです。を使用して HTML プレーンをストリーミングするだけですjava.net.URL。このようにして、応答の 1 対 1 のコピーが作成されます。

InputStream input = new URL(url).openStream();
OutputStream output = new FileOutputStream(localLink);
// Now copy input to output the usual Java IO way.

プラットフォームのデフォルトのエンコーディングが代わりに使用されるため、不明なエンコーディングのソースの文字が不正になる可能性があるため、これには/を使用しないでください。ReaderWriter

于 2011-06-08T13:58:04.480 に答える