Siden lastes gjennom proxyen, men bokstaver med aksenter kommer forvansket tilbake. Før du bytter proxy, finn det første stedet der bytene i svaret blir en Java String. En InputStreamReader uten eksplisitt charset kan ta den avgjørelsen før jsoup ser dokumentet.

Når jsoup håndterer hentingen, hold svaret samlet frem til parsingen:

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

Svar-API-et viser charset-informasjon som er utledet fra Content-Type. Det kan også godta en eksplisitt overstyring av charset når du har fastslått at serverens erklæring er feil. En proxyadresse alene sier ikke hvilken tegnkoding dokumentet bruker. Hvis du trenger en tillatt sammenligning av en offentlig side uten proxykonto, erstatt HTTP-verten og -porten i eksempelet med en kandidat fra HTTP-proxylisten, samtidig som du beholder de samme kodingskontrollene.

Hvis en annen HTTP-klient leverer en InputStream, godtar stream-parse-overloaden i jsoup et charset-navn og en basis-URI. Et null-charset tillater den dokumenterte gjenkjenningen og reserveatferden; et kjent og korrekt HTTP-charset bør overføres bevisst. Basis-URI-en gir kontekst for relative lenker.

Når bytene først er dekodet feil, gjenvinner ikke parsingen av den resulterende Stringen med et annet charset den opprinnelige teksten. Gå tilbake til bytene og metadataene i svaret. Sammenlign også det som ble mottatt: en proxys innloggingsside eller avvisning kan være et helt annet dokument enn siden som ble forespurt, snarere enn en dekodingsfeil i den.

Relaterte artikler