Страница се учитава преко проксија, али слова са дијакритицима враћају се искривљена. Пре него што промените прокси, пронађите прво место где бајтови одговора постају Java String. InputStreamReader без експлицитног charset-а може донети ту одлуку пре него што jsoup види документ.

Када jsoup обави преузимање, држите одговор на окупу до анализе:

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

API одговора излаже податке о charset-у изведене из Content-Type-а. Може прихватити и експлицитно надјачавање charset-а када утврдите да је декларација сервера погрешна. Сама адреса проксија не говори које кодовање знакова документ користи. Ако вам треба дозвољено поређење јавне странице без прокси налога, замените HTTP хост и порт из примера кандидатом из листе HTTP проксија, задржавајући исте провере кодовања.

Ако други HTTP клијент даје InputStream, jsoup-ова варијанта за анализу тока прихвата назив charset-а и основни URI. Null charset дозвољава документовано откривање и резервно понашање; познат и исправан HTTP charset треба свесно пренети. Основни URI даје контекст за релативне везе.

Када су бајтови једном погрешно декодирани, анализа добијеног String-а другим charset-ом не враћа изворни текст. Вратите се бајтовима и метаподацима одговора. Упоредите и оно што је примљено: проксијева пријавна страница или одбијање могу бити сасвим други документ од тражене странице, а не грешка декодирања у њој.

Повезани чланци