บทความ

กำลังแสดงโพสต์จาก กันยายน, 2015

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

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