jSoup не убирает должным образом мои HTML-объекты - PullRequest
1 голос
/ 03 января 2011

У меня есть небольшой пример программы, которая извлекает некоторую информацию из документа HTML.

import org.jsoup.*;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class TestSoup {

    public static void main(String[] args) {

        String html = "<p>An <a href='http://example.com/'><b>exa&nbsp;mple</b></a> link.</p>";
        Document doc = Jsoup.parse(html);
        Element link = doc.select("a").first();

        String linkText = link.text(); // "example""
        System.out.println(linkText);

    }

}

Если вы работали с jSOup, вы будете знать, что результат должен быть exa mple, новывод exaámple.Почему jSoup не эскалирует мои HTML-объекты должным образом или я просто делаю это неправильно?

Все мои HTML-объекты некорректно экранируются, и не только &nbsp;

1 Ответ

5 голосов
/ 03 января 2011

jSoup работает правильно, у вас проблема с кодировкой вывода.

В Windows кодировка символов, используемая консолью (CP437 в вашем случае), отличается от кодировки системы (Windows-1252 в вашем случае). System.out.println() выводит вашу строку в кодировке системы по умолчанию, поэтому она неправильно отображается в консоли.

В Java 1.6 вы можете попробовать System.console() вместо:

System.console().writer().println(linkText); 
...