Latest web development tutorials

การเข้ารหัส XML

เอกสาร XML สามารถมีอักขระที่ไม่ใช่ ASCII เช่น AA นอร์เวย์, หรือฝรั่งเศส Eee

เพื่อหลีกเลี่ยงข้อผิดพลาดคุณจะต้องระบุการเข้ารหัส XML หรือไฟล์ XML เป็น Unicode


ข้อผิดพลาดการเข้ารหัส XML

ถ้าคุณโหลดเอกสาร XML คุณจะได้รับสองข้อผิดพลาดที่แตกต่างกันแสดงให้เห็นปัญหาการเข้ารหัส:

ตัวอักษรที่ไม่ถูกต้องในเนื้อหาของข้อความ

หาก XML ของคุณมีอักขระที่ไม่ใช่ ASCII และบันทึกแฟ้มเป็นเข้ารหัสไบต์เดี่ยวไม่ได้ระบุ ANSI (หรือ ASCII) คุณจะได้รับข้อผิดพลาด

แอตทริบิวต์ของแฟ้มที่เข้ารหัส XML ไบต์เดี่ยว

ไม่เหมือนกันแอตทริบิวต์ของไฟล์ XML เป็นไบต์เดี่ยวรหัส

การเข้ารหัสในปัจจุบันมีการเปลี่ยนมาใช้การเข้ารหัสที่ระบุไม่ได้รับการสนับสนุน

หากไฟล์ XML ของคุณจะถูกบันทึกเป็นเข้ารหัส byte เดียวกับที่ระบุไว้ (Windows 1252, ISO-8859-1, UTF-8) ไบต์คู่ Unicode (หรือ UTF-16) คุณจะได้รับข้อผิดพลาด

หากไฟล์ XML ของคุณจะถูกบันทึกเป็น byte เดียวกับการเข้ารหัสที่ระบุ ANSI ไบต์ (UTF-16) (หรือ ASCII) คุณจะได้รับข้อผิดพลาด

ไม่มีไบต์คู่เข้ารหัสไฟล์ XML

มันมีไบต์คู่เดียวไบต์ไฟล์ที่เข้ารหัส XML เดียวกัน


หน้าต่าง Notepad

ค่าเริ่มต้นของ Windows Notepad จะบันทึกไฟล์เป็นไบต์เดี่ยว ANSI (ASCII)

หากคุณเลือก "Save As ... " คุณสามารถระบุ ANSI, UTF-8 Unicode (UTF-16) หรือ Unicode บิ๊ก

บันทึก XML ต่อไปนี้เป็น ANSI, UTF-8 และ Unicode (โปรดทราบว่าเอกสารที่ไม่ได้มีแอตทริบิวต์การเข้ารหัสใด ๆ )

<?xml version="1.0"?>
<note>
<from>Jani</from>
<to>Tove</to>
<message>Norwegian: aa. French: eee</message>
</note>

พยายามที่จะลากไฟล์เบราว์เซอร์ของคุณและเห็นผล เบราว์เซอร์ที่แตกต่างกันจะแสดงผลลัพธ์ที่แตกต่าง

ประสบการณ์การเขียนโปรแกรมที่แตกต่างกัน

<?xml version="1.0" encoding="us-ascii"?>
<?xml version="1.0" encoding="windows-1252"?>
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-16"?>

ลองดู:

ประหยัดด้วยการเข้ารหัสที่ถูกต้อง

ประหยัดด้วยรหัสข้อผิดพลาด



ข้อสรุป

  • มักจะใช้แอตทริบิวต์การเข้ารหัส
  • รองรับการเข้ารหัสบรรณาธิการ
  • ให้แน่ใจว่าคุณรู้ว่าสิ่งที่แก้ไขการเข้ารหัส
  • โดยใช้การเข้ารหัสที่เหมือนกันในคุณสมบัติการเข้ารหัสของคุณ