Stranica se učitava preko proxyja, ali slova s dijakriticima vraćaju se iskrivljena. Prije nego promijenite proxy, pronađite prvo mjesto gdje bajtovi odgovora postaju Java String. InputStreamReader bez eksplicitnog charseta može donijeti tu odluku prije nego jsoup vidi dokument.

Kada jsoup obavi preuzimanje, držite odgovor na okupu do analize:

Connection.Response response = Jsoup
    .connect("https://www.example.com/catalog")
    .proxy("proxy.example", 8080)
    .execute();
Document page = response.parse();

API odgovora izlaže podatke o charsetu izvedene iz Content-Typea. Može prihvatiti i eksplicitno nadjačavanje charseta kada utvrdite da je deklaracija servera pogrešna. Sama adresa proxyja ne govori koje kodiranje znakova dokument koristi. Ako vam treba dozvoljeno poređenje javne stranice bez proxy naloga, zamijenite HTTP host i port iz primjera kandidatom iz liste HTTP proxyja, zadržavajući iste provjere kodiranja.

Ako drugi HTTP klijent daje InputStream, jsoupova varijanta za analizu toka prihvata naziv charseta i osnovni URI. Null charset dozvoljava dokumentovano otkrivanje i rezervno ponašanje; poznat i ispravan HTTP charset treba svjesno prenijeti. Osnovni URI daje kontekst za relativne veze.

Kada su bajtovi jednom pogrešno dekodirani, analiza dobijenog Stringa drugim charsetom ne vraća izvorni tekst. Vratite se bajtovima i metapodacima odgovora. Uporedite i ono što je primljeno: proxyjeva prijavna stranica ili odbijanje mogu biti sasvim drugi dokument od tražene stranice, a ne greška dekodiranja u njoj.

Povezani članci