Я попытался разобрать этот html файл с помощью Jsoup:
<html><body>Maître Corbeau, sur un arbre perché</body></html>
Я использовал эту строку:
Document document = Jsoup.parse(input, "UTF-8");
Когда я пытаюсь распечатать документ:
System.out.println(document.toString());
Оба выхода:
<html>
<head></head>
<body>
Maître Corbeau, sur un arbre perché
</body>
</html>
Почему некоторые персонажи меняются?
Извините, но почему именно это неправильный результат?
Maître Corbeau, sur un arbre perché
дает тебе
Maître Corbeau, sur un arbre perché
в браузере whitch правильно, не так ли? если вы хотите получить текст с декодированным контентом, вам нужно использовать document.text()
insteed document.toString()
поскольку второй даст вам вывод HTML. Но помните, что вы потеряете всю структуру тегов из тела HTML. Если у вас действительно есть HTML-код с декодированными объектами HTML, вам нужно будет использовать StringEscapeUtils.unescapeHtml4(input)
от Apache Commons Lang