ໜ້າເວັບໂຫຼດຜ່ານພຣັອກຊີ ແຕ່ຕົວອັກສອນທີ່ມີເຄື່ອງໝາຍສຽງກັບມາສັບສົນ. ກ່ອນຈະປ່ຽນພຣັອກຊີ ໃຫ້ຊອກຫາຈຸດທຳອິດທີ່ໄບຕ໌ຂອງການຕອບສະໜອງກາຍເປັນ 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 ພື້ນຖານ. charset ວ່າງເປົ່າອະນຸຍາດໃຫ້ມີການກວດພົບ ແລະພຶດຕິກຳສຳຮອງຕາມເອກະສານ; charset HTTP ທີ່ຮູ້ຈັກ ແລະຖືກຕ້ອງຄວນຖືກສົ່ງຕໍ່ຢ່າງເຈດຕະນາ. URI ພື້ນຖານໃຫ້ບໍລິບົດສຳລັບລິ້ງທີ່ກ່ຽວຂ້ອງ.

ເມື່ອໄບຕ໌ຖືກຖອດລະຫັດຜິດແລ້ວ ການແຍກ String ຜົນລັບດ້ວຍ charset ອື່ນບໍ່ສາມາດກູ້ຂໍ້ຄວາມເດີມຄືນ. ກັບໄປຫາໄບຕ໌ ແລະເມຕາດາຕາຂອງການຕອບສະໜອງ. ຍັງປຽບທຽບສິ່ງທີ່ໄດ້ຮັບ: ໜ້າເຂົ້າສູ່ລະບົບ ຫຼືການປະຕິເສດຂອງພຣັອກຊີອາດເປັນເອກະສານທີ່ແຕກຕ່າງກັນທັງໝົດຈາກໜ້າທີ່ຮ້ອງຂໍ ບໍ່ແມ່ນຄວາມລົ້ມເຫຼວຂອງການຖອດລະຫັດໃນນັ້ນ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ