Стоп Jsoup от кодирования - PullRequest
3 голосов
/ 08 июня 2011

Я пытаюсь сократить URL с помощью JSoup, который содержит следующий текст: Æ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();

Ответы [ 2 ]

5 голосов
/ 12 декабря 2011

Используйте doc.outputSettings().escapeMode(EscapeMode.xhtml);, чтобы избежать преобразования сущностей.

2 голосов
/ 08 июня 2011

Вы, кажется, не используете силы 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.

Вы должны не использовать для этого Reader / Writer, поскольку это может привести к искажению символов источников в неизвестной кодировке, поскольку вместо этого будет использоваться кодировка по умолчанию платформы.

...