วันอังคารที่ 29 กันยายน พ.ศ. 2558

java XML Parser ภาษาไทย

การอ่านไฟล์ xml ที่มีตัวอักษรภาษาไทย ด้วยภาษาจาวา บางครั้งจะเกิด Error โดยแจ้งว่า เป็น Invalid byte 2 of 2-byte UTF-8 sequence



สาเหตุหลัก คือเรื่องของ encoding ซึ่งจำเป็นต้องใช้สำหรับการเปลี่ยนไฟล์จากรูปแบบหนึ่ง ไปสู่อีกรูปแบบหนึ่ง

การแก้ปัญหาหรือการหลีกเลี่ยงไม่ให้เกิดปัญหา คือการกำหนด File Encoding ของไฟล์ XML ให้เป็น UTF-8

ในกรณีที่ ไฟล์ XML ใช้ Encoding เป็น ANSI ต้องเปลี่ยนให้เป็น UTF-8 เพื่อแก้ไขปัญหาดังกล่าว การเปลี่ยน Encoding ทำได้ โดยใช้โปรแกรม Text-editor เช่น EditPlue หรือ Notepad ซึ่งทำได้ ดังนี้

การเปลี่ยน File Encoding ด้วย EditPlus
  1. เปิดไฟล์ XML ด้วยโปรแกรม EditPlus
  2. ไปที่ Document > File Encoding > Change File Encoding...
  3. เลือก UTF-8
  4. บันทึกไฟล์
การเปลี่ยน File Encoding ด้วย Notepad (Windows 10)
  1. เปิดโปรแกรม Notepad
  2. ไปที่ File > Open เลือกเปิดไฟล์ทั้งหมด (All Files)
  3. ไปที่ไฟล์ xml ที่ต้องการ และคลิกเลือก
  4. คลิกเปลี่ยน Encoding 
  5. คลิก Open เพื่อเปิดไฟล์
  6. คลิก Save และปิดไฟล์


เมื่อเรียกใช้ XML Parser ของ  Java จะไม่พบข้อผิดพลาด และสามารถ Parse ได้ตามปกติ



ไม่มีความคิดเห็น:

แสดงความคิดเห็น