แก้ภาษาไทยเพี้ยนใน Notepad++

Notepad++ แสดง เธชเธง แทน สวัสดี หรือเป็นกล่องสีดำเล็ก ๆ ใช่ไหม แปลว่ารหัสอักขระที่เลือกไม่ตรงกับไฟล์ ส่วนใหญ่แก้ได้ด้วยสองรายการในเมนู ถ้ารู้ว่าต้องใช้รายการไหน

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

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

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

แก้ไข

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

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

ตรวจรหัสอักขระก่อน

มุมขวาล่างของแถบสถานะ Notepad++ บอกว่าตอนนี้อ่านไฟล์เป็นแบบใด เช่น UTF-8, UTF-8-BOM หรือ ANSI เมนู Encoding มีรายการสองชนิดที่คนมักสับสน:

  • ANSI, UTF-8, UTF-8-BOM (ด้านบนของเมนู): Notepad++ อ่านไบต์ที่มีอยู่ใหม่โดยไม่เปลี่ยนไฟล์ – เป็นแค่การตั้งค่าการแสดงผล
  • Convert to ANSI, Convert to UTF-8 … (ด้านล่างของเมนู): Notepad++ เขียนตัวอักษรด้วยรหัสอักขระใหม่ พอบันทึกไฟล์ก็เปลี่ยน

กรณีที่ 1: เป็นภาษาต่างดาวอย่าง เธช แทน ส

ไฟล์บันทึกเป็น UTF-8 แต่ Notepad++ อ่านเป็น ANSI ให้เลือก Encoding แล้ว UTF-8 ตัวอักษรจะถูกต้องทันที อย่ากดแปลง: «Convert to UTF-8» จะบันทึกอักขระเพี้ยนเหล่านั้นเป็นตัวอักษรจริง

กรณีที่ 2: เป็นกล่องหรือเครื่องหมายคำถามแทนภาษาไทย

ไฟล์บันทึกเป็น TIS-620 หรือ Windows-874 (ANSI ภาษาไทย) แต่ถูกอ่านเป็น UTF-8 ให้เลือก Encoding แล้ว Character sets แล้ว Thai แล้ว TIS-620 เพื่อให้ตัวอักษรถูกต้องก่อน จากนั้นเลือก Convert to UTF-8 พอบันทึก ไฟล์ก็เป็น UTF-8 อ่านเพิ่มที่ แปลง TIS-620 เป็น UTF-8

กรณีที่ 3: ความเพี้ยนอยู่ในไฟล์จริง ๆ

ถ้าเลือก UTF-8 แล้ว Notepad++ ยังแสดงภาษาต่างดาว แปลว่าข้อความที่เพี้ยนถูกบันทึกไปแล้ว รายการในเมนูช่วยไม่ได้อย่างน่าเชื่อถือ โดยเฉพาะเมื่อบรรทัดที่ถูกและที่เสียปนกัน หรือข้อความถูกเข้ารหัสซ้ำสองครั้ง ให้วางไฟล์ลงใน Mojibuster ด้านบน: ซ่อมเฉพาะจุดที่เสียและแสดงทุกการเปลี่ยนแปลง

ไฟล์ที่บันทึกความผิดพลาดไปแล้ว

ก่อน

µÃǨ¤Óá»ÅáÅéÇ: »ÃÐà·Èä·Â, ÀÒÉÒä·Â, ¢Íº¤Ø³, àªÕ§ãËÁè – ¶Ù¡µéͧ·Ñé§ËÁ´

หลัง

ตรวจคำแปลแล้ว: ประเทศไทย, ภาษาไทย, ขอบคุณ, เชียงใหม่ – ถูกต้องทั้งหมด

สร้างไฟล์ใหม่เป็น UTF-8 เสมอ

ที่ Settings แล้ว Preferences แล้ว New Document ตั้งรหัสอักขระของไฟล์ใหม่เป็น UTF-8 สำหรับไฟล์ที่ต้องให้ Excel เปิด UTF-8-BOM ดีกว่า – อ่านเพิ่มที่ Excel และ CSV ภาษาไทยเพี้ยน สคริปต์สำหรับ Windows PowerShell 5.1 ก็ต้องมี BOM เช่นกัน ดู PowerShell

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

UTF-8 กับ UTF-8-BOM ต่างกันอย่างไร

ทั้งสองเก็บตัวอักษรเหมือนกัน UTF-8-BOM เขียนไบต์ที่มองไม่เห็นเพิ่มอีกสามไบต์ที่จุดเริ่มต้น ซึ่ง Excel และโปรแกรมเก่าใช้รู้ว่าเป็น UTF-8

ทำไม Notepad++ บางครั้งตรวจรหัสอักขระผิด

ไฟล์ที่ไม่มี BOM ไม่มีข้อมูลบอกรหัสอักขระ Notepad++ จึงต้องเดา กับไฟล์สั้นและมีอักขระพิเศษน้อย จะผิดบ่อยขึ้น

แปลงหลายไฟล์พร้อมกันได้ไหม

ใน Notepad++ ทำได้เฉพาะด้วยแมโครหรือปลั๊กอิน ส่วนใน Mojibuster ทำทีละไฟล์ แต่ละไฟล์เสร็จในไม่กี่วินาที

คู่มืออื่น ๆ