ทำไมซับไทยจึงกลายเป็นภาษาต่างดาว
ไฟล์ SRT ไม่ได้บอกว่าบันทึกด้วยการเข้ารหัสแบบใด ซับไทยจำนวนมากบันทึกเป็น TIS-620 หรือ Windows-874 เพราะ Notepad และโปรแกรมทำซับรุ่นเก่าบันทึกแบบนี้มาหลายปี ส่วนสมาร์ททีวี กล่อง Android และแอปเล่นวิดีโอมักอ่านซับเป็น UTF-8 หรือเป็น Windows-1252 ของภาษาตะวันตก จึงเกิดปัญหาสามแบบ:
ÊÇÑÊ´Õแทนสวัสดี– ไฟล์ TIS-620 ถูกอ่านด้วยการตั้งค่าภาษาตะวันตก พบบ่อยในทีวีที่ซื้อจากต่างประเทศและโปรแกรมที่ใช้เมนูภาษาอังกฤษ�หรือกล่องสี่เหลี่ยม – เครื่องเล่นคาดว่าเป็น UTF-8 แต่อ่านไบต์ของ TIS-620 ไม่ได้ ตัวอักษรยังอยู่ครบ แค่ต้องแปลงไฟล์เธชเธงเธฑเธชเธ”เธต– กรณีกลับกัน ไฟล์เป็น UTF-8 อยู่แล้ว แต่ในโปรแกรมเลือก Windows-874 หรือภาษาไทยไว้เอง
ภาษาต่างดาว
1 00:00:01,000 --> 00:00:03,500 ÊÇÑÊ´Õ¤ÃѺ ä»ä˹ÁÒ 2 00:00:04,000 --> 00:00:06,200 Ãͤس·Ñ駤׹àÅÂ
หลังแก้ไข
1 00:00:01,000 --> 00:00:03,500 สวัสดีครับ ไปไหนมา 2 00:00:04,000 --> 00:00:06,200 รอคุณทั้งคืนเลย
วิธีแก้ไฟล์ซับ
- ลากไฟล์
.srtหรือ.vttมาวางในกรอบด้านบน - Mojibuster ตรวจการเข้ารหัสและแก้ตัวอักษรที่เสีย ผลลัพธ์จะแสดงว่าอ่านไฟล์ด้วยการเข้ารหัสใด
- ดาวน์โหลดไฟล์แล้ววางไว้ข้างวิดีโอแทนไฟล์เดิม ชื่อไฟล์ต้องตรงกับวิดีโอ เช่น
movie.srtสำหรับmovie.mkv
ลำดับซับ เวลาแบบ 00:01:15,250 --> 00:01:18,000 บรรทัดว่าง และแท็กอย่าง <i> จะไม่ถูกเปลี่ยน Mojibuster แก้เฉพาะตัวอักษรที่เสีย
ภาษาต่างดาว
7 00:02:10,400 --> 00:02:13,000 เธชเธงเธฑเธชเธ”เธต เธกเธฒเธฅเธต
หลังแก้ไข
7 00:02:10,400 --> 00:02:13,000 สวัสดี มาลี
การตั้งค่าโปรแกรมเล่นและทีวี
- VLC: ในการตั้งค่าคำบรรยายมีตัวเลือกการเข้ารหัสเริ่มต้น เลือกภาษาไทยได้ แต่แปลงไฟล์เป็น UTF-8 ครั้งเดียวจะเปิดได้ทุกที่
- Kodi: ตั้งชุดตัวอักษรของซับได้ในการตั้งค่าเครื่องเล่น หัวข้อภาษา และควรเลือกฟอนต์ที่มีภาษาไทยด้วย
- MX Player บน Android เลือกการเข้ารหัสได้ในการตั้งค่าคำบรรยาย ถ้าเลือก Windows-874 ไว้แต่ไฟล์เป็น UTF-8 จะเห็น
เธชเธงเธฑเธชเธ”เธต - Plex, Jellyfin และสมาร์ททีวี (Samsung, LG, Android TV) อ่านซับภายนอกที่เป็น UTF-8 ได้ดีที่สุด แปลงแล้วไม่ต้องตั้งค่าอะไรเพิ่ม
- WebVTT (
.vtt) ตามมาตรฐานเป็น UTF-8 เสมอ
? และ � ในตัวไฟล์
ถ้าในไฟล์มี ? แทนตัวอักษรไทย ซึ่งเห็นได้ในทุกโปรแกรมแก้ไขข้อความ แปลว่าตัวอักษรหายไปแล้ว เพราะมีคนบันทึกซับใหม่ด้วยการเข้ารหัสที่ไม่มีภาษาไทย � ที่ยังเหลือหลังแปลงก็เช่นกัน กู้คืนไม่ได้ Mojibuster จะบอกเพียงว่ามีกี่ตำแหน่ง ต้องหาซับเวอร์ชันอื่น
อ่านเพิ่มเติมเรื่องการเข้ารหัสแบบเก่า: แปลง TIS-620 เป็น UTF-8 และสาเหตุของปัญหา: ภาษาต่างดาวคืออะไร
คำถามที่พบบ่อย
เวลาของซับจะเลื่อนไหม
ไม่ Mojibuster เปลี่ยนเฉพาะตัวอักษรที่เสีย เวลา ลำดับ และบรรทัดว่างยังเหมือนเดิม
ซับ .ass หรือ .ssa ทำอย่างไร
Mojibuster เปิดไฟล์เหล่านี้โดยตรงไม่ได้ ให้เปลี่ยนนามสกุลเป็น .txt ชั่วคราว แก้ไข แล้วเปลี่ยนกลับเป็นนามสกุลเดิม
ซับต้องมี BOM ไหม
ไม่ต้อง โปรแกรมเล่นส่วนใหญ่ทำงานได้ดีกว่าเมื่อไม่มี BOM Mojibuster จึงไม่ใส่ BOM ให้ไฟล์ SRT และ VTT โดยค่าเริ่มต้น
แปลงแล้วยังเป็นภาษาต่างดาวอยู่
ตรวจดูว่าในโปรแกรมเล่นไม่ได้เลือกการเข้ารหัสแบบตายตัวไว้ ให้เปลี่ยนเป็น UTF-8 หรือ "อัตโนมัติ" ถ้าเห็นเป็นกล่องสี่เหลี่ยม ให้เลือกฟอนต์ที่มีภาษาไทย