ภาษาต่างดาว (mojibake) คืออะไร?

ภาษาต่างดาว คืออาการที่ข้อความภาษาไทยกลายเป็นตัวอักษรแปลก ๆ เช่น ä·Â แทนคำว่า ไทย เกิดขึ้นเมื่อบันทึกข้อความด้วยการเข้ารหัสหนึ่ง แต่เปิดอ่านด้วยอีกการเข้ารหัสหนึ่ง และส่วนใหญ่กู้คืนได้ทั้งหมด ลองวางข้อความที่เพี้ยนในช่องด้านล่าง

รองรับข้อความและไฟล์เหล่านี้:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

เช่น ไฟล์ส่งออกจาก Excel ข้อมูลสำรองฐานข้อมูล คำบรรยาย หรือโค้ดเว็บไซต์

แก้ไข

  1. ลากไฟล์มาวางหรือวางข้อความ
  2. แก้ให้อัตโนมัติ
  3. คัดลอกหรือดาวน์โหลด
หรือลากไฟล์มาวางที่นี่
  • ไม่ต้องอัปโหลด ไฟล์ถูกแก้ในเบราว์เซอร์ของคุณและไม่ออกจากอุปกรณ์

  • เซิร์ฟเวอร์ในสหภาพยุโรป Mojibuster ทำงานบนเซิร์ฟเวอร์ที่ ฟินแลนด์ (สหภาพยุโรป) จึงอยู่ภายใต้กฎหมายคุ้มครองข้อมูลทั่วไป (GDPR) อ่าน GDPR (EUR-Lex ภาษาอังกฤษ)

คำว่า mojibake มาจากไหน

ในภาษาอังกฤษ ข้อความที่เพี้ยนเรียกว่า mojibake มาจากภาษาญี่ปุ่น 文字化け แปลว่า “ตัวอักษรที่เปลี่ยนร่าง” ในช่วงทศวรรษ 1990 ญี่ปุ่นใช้การเข้ารหัสหลายแบบพร้อมกัน อีเมลและเว็บไซต์ที่อ่านไม่ออกจึงพบได้ทั่วไป ส่วนคนไทยมักเรียกอาการนี้ว่า “ภาษาต่างดาว”

ภาษาต่างดาวเกิดขึ้นได้อย่างไร

คอมพิวเตอร์เก็บตัวอักษรเป็นไบต์ และการเข้ารหัสเป็นตัวกำหนดว่าไบต์ไหนคือตัวอักษรอะไร ภาษาไทยใน TIS-620 (Windows-874) ใช้ 1 ไบต์ต่อตัวอักษร เช่น ไทย คือ E4 B7 C2 ถ้าโปรแกรมอ่านไบต์เหล่านี้ด้วยการเข้ารหัสภาษาตะวันตก (Windows-1252) จะเห็นเป็น ä·Â แทน

ในขั้นตอนนี้ไบต์ไม่ได้หายไปไหน แค่ถูกอ่านผิดวิธี จึงกู้คืนได้ด้วยการอ่านใหม่ด้วยการเข้ารหัสที่ถูกต้อง Mojibuster จะแปลงตัวอักษรที่เพี้ยนกลับเป็นไบต์ แล้วอ่านใหม่ให้ถูกต้อง

ข้อความ TIS-620 เปิดบนเครื่องที่ตั้งค่าภาษาตะวันตก

ภาษาต่างดาว

ÀÒÉÒä·ÂÍèÒ¹äÁèÍÍ¡
á¡éä¢àÃÕºÃéÍÂáÅéÇ

หลังแก้

ภาษาไทยอ่านไม่ออก
แก้ไขเรียบร้อยแล้ว

รูปแบบที่พบบ่อย

  • ä·Â และตัวอักษรละตินที่มีเครื่องหมายแปลก ๆ: ข้อความ TIS-620 ที่เปิดบนเครื่องที่ตั้งค่าภาษาตะวันตก (แปลง TIS-620 เป็น UTF-8)
  • ตัวอักษรไทยปนสัญลักษณ์ที่ไม่เป็นคำ: ไฟล์ CSV แบบ UTF-8 ที่ดับเบิลคลิกเปิดใน Excel (Excel CSV ภาษาไทยเพี้ยน)
  • ? หรือ �: ตัวอักษรที่แปลงไม่ได้ถูกแทนที่ไปแล้ว ข้อมูลเดิมหายไป

สาเหตุที่พบบ่อย

  • ดับเบิลคลิกเปิดไฟล์ CSV แบบ UTF-8 ที่ไม่มี BOM ใน Excel
  • เปิดไฟล์ TIS-620 หรือ Windows-874 บน Mac หรือในโปรแกรมที่รองรับเฉพาะ UTF-8
  • เว็บไซต์หรืออีเมลระบุการเข้ารหัส (charset) ไม่ตรงกับความจริง
  • ข้อความที่เพี้ยนแล้วถูกแปลงซ้ำอีกครั้ง

แก้ได้ทุกกรณีไหม

เกือบทุกกรณี ตราบใดที่ไบต์ยังอยู่ครบ แต่ถ้าตัวอักษรถูกแทนที่ด้วย ? หรือ � ระหว่างบันทึกหรือส่งต่อ ข้อมูลเดิมก็หายไปแล้วและกู้คืนไม่ได้ Mojibuster จะแก้ทุกส่วนที่แก้ได้ และบอกจำนวนจุดที่กู้คืนไม่ได้

ป้องกันภาษาต่างดาว

  • บันทึกไฟล์เป็น UTF-8 และบันทึกไฟล์ CSV สำหรับ Excel เป็น UTF-8 แบบมี BOM
  • ใส่ <meta charset="utf-8"> ใน HTML และใช้ utf8mb4 ใน MySQL และ MariaDB
  • เวลานำเข้าข้อมูล ให้เลือกการเข้ารหัสเองแทนการปล่อยให้โปรแกรมเดา
  • แปลงการเข้ารหัสเพียงครั้งเดียว ที่จุดเชื่อมต่อระหว่างสองระบบ

คำถามที่พบบ่อย

ภาษาต่างดาวแก้ได้ไหม?

ได้ ภาษาต่างดาวส่วนใหญ่เป็นแค่ข้อความที่ถูกอ่านด้วยการเข้ารหัสผิด วางข้อความหรือลากไฟล์มาที่ช่องด้านบน Mojibuster จะตรวจและแก้ให้อัตโนมัติ

ไฟล์เสียหรือติดไวรัสหรือเปล่า?

ไม่ใช่ ภาษาต่างดาวเป็นปัญหาการแสดงผล ไม่ใช่ไวรัส และส่วนใหญ่ข้อมูลยังอยู่ครบ

ภาษาต่างดาวกับ � ต่างกันอย่างไร?

ข้อความอย่าง ä·Â ยังมีไบต์เดิมอยู่ จึงแก้ได้ ส่วน � แปลว่าโปรแกรมอ่านไบต์นั้นไม่ได้และแทนที่ไปแล้ว ตัวอักษรเดิมจึงหายไป

ข้อความถูกอัปโหลดหรือไม่?

ไม่ Mojibuster แก้ข้อความในเบราว์เซอร์ของคุณ ข้อความไม่ถูกส่งออกไปและไม่ถูกเก็บไว้

คู่มืออื่น ๆ