ซับไตเติ้ลภาษาไทยเป็นภาษาต่างดาว: แปลง SRT เป็น UTF-8

ทีวีหรือโปรแกรมเล่นวิดีโอแสดงซับไทยเป็น ÊÇÑÊ´Õ หรือ � ใช่ไหม ไฟล์ซับน่าจะบันทึกเป็น TIS-620 แต่เครื่องเล่นคาดว่าเป็น UTF-8 ลากไฟล์ SRT มาวาง Mojibuster จะแปลงให้ โดยเวลาของซับไม่เปลี่ยน

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

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

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

แก้ไข

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

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

ทำไมซับไทยจึงกลายเป็นภาษาต่างดาว

ไฟล์ SRT ไม่ได้บอกว่าบันทึกด้วยการเข้ารหัสแบบใด ซับไทยจำนวนมากบันทึกเป็น TIS-620 หรือ Windows-874 เพราะ Notepad และโปรแกรมทำซับรุ่นเก่าบันทึกแบบนี้มาหลายปี ส่วนสมาร์ททีวี กล่อง Android และแอปเล่นวิดีโอมักอ่านซับเป็น UTF-8 หรือเป็น Windows-1252 ของภาษาตะวันตก จึงเกิดปัญหาสามแบบ:

  • ÊÇÑÊ´Õ แทน สวัสดี – ไฟล์ TIS-620 ถูกอ่านด้วยการตั้งค่าภาษาตะวันตก พบบ่อยในทีวีที่ซื้อจากต่างประเทศและโปรแกรมที่ใช้เมนูภาษาอังกฤษ
  • � หรือกล่องสี่เหลี่ยม – เครื่องเล่นคาดว่าเป็น UTF-8 แต่อ่านไบต์ของ TIS-620 ไม่ได้ ตัวอักษรยังอยู่ครบ แค่ต้องแปลงไฟล์
  • เธชเธงเธฑเธชเธ”เธต – กรณีกลับกัน ไฟล์เป็น UTF-8 อยู่แล้ว แต่ในโปรแกรมเลือก Windows-874 หรือภาษาไทยไว้เอง
ซับ TIS-620 บนเครื่องเล่นที่ตั้งค่าภาษาตะวันตก

ภาษาต่างดาว

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
รอคุณทั้งคืนเลย

วิธีแก้ไฟล์ซับ

  1. ลากไฟล์ .srt หรือ .vtt มาวางในกรอบด้านบน
  2. Mojibuster ตรวจการเข้ารหัสและแก้ตัวอักษรที่เสีย ผลลัพธ์จะแสดงว่าอ่านไฟล์ด้วยการเข้ารหัสใด
  3. ดาวน์โหลดไฟล์แล้ววางไว้ข้างวิดีโอแทนไฟล์เดิม ชื่อไฟล์ต้องตรงกับวิดีโอ เช่น movie.srt สำหรับ movie.mkv

ลำดับซับ เวลาแบบ 00:01:15,250 --> 00:01:18,000 บรรทัดว่าง และแท็กอย่าง <i> จะไม่ถูกเปลี่ยน Mojibuster แก้เฉพาะตัวอักษรที่เสีย

ซับเป็น UTF-8 แต่ในโปรแกรมเลือก Windows-874 ไว้

ภาษาต่างดาว

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 หรือ "อัตโนมัติ" ถ้าเห็นเป็นกล่องสี่เหลี่ยม ให้เลือกฟอนต์ที่มีภาษาไทย

คู่มืออื่น ๆ