ไฟล์ไม่เสีย อ่านผิดต่างหาก
ในไฟล์ซับไตเติลเก็บไบต์ ต้องรู้ว่ามันเขียนด้วยการเข้ารหัสอะไรถึงจะแปลงไบต์เป็นตัวอักษรได้ — ขั้นตอนนี้เลือกผิด สิ่งที่ออกมาคือตัวอักษรเพี้ยน ไฟล์ไม่ได้ขาดไบต์ไปแม้แต่ตัวเดียว อ่านใหม่ด้วยการเข้ารหัสอื่น ตัวอักษรก็กลับมา
แปลว่ามีสองเรื่องที่ต่างกัน: จำแนกการเข้ารหัสเดิมให้ได้ กับ บันทึกเป็นการเข้ารหัสที่โปรแกรมเล่นรู้จัก อย่างแรกทำด้วยการลองอ่านแล้วให้คะแนน อย่างหลังทำด้วยบันทึกเป็น สองอย่างนี้แก้ปัญหาคนละอย่าง
ห้ารูปร่าง ห้าสาเหตุ
ตัวอักษรเพี้ยนไม่ได้เกิดแบบสุ่ม รูปร่างของมันบอกสาเหตุได้ตรงๆ:
- ตัวอักษรที่มีสระหรือวรรณยุกต์ติดกันเป็นแถว (`ä½ å¥½`): ภาษาจีนแบบ UTF-8 ถูกอ่านเป็นแบบไบต์เดียว — ใน UTF-8 ตัวอักษรจีนหนึ่งตัวกินสามไบต์ พออ่านทีละไบต์ แต่ละไบต์ก็กลายเป็นตัวอักษรของมันเอง
- ตัวอักษร CJK เรียงติดกันแต่ไม่มีตัวไหนที่ใช้บ่อยเลย: UTF-8 ถูกอ่านเป็น GBK — ไบต์ถูกจับคู่ใหม่ และทุกคู่ไปลงที่ตัวอักษรหายาก
- สัญลักษณ์สกุลเงินและคณิตศาสตร์กองเต็มไปหมด: ไบต์ไปตกในช่วงสัญลักษณ์ มักเกิดจากการถูกอ่านเป็น Mac Roman หรือตระกูล Latin-1
- มีตัวอักษรควบคุมปนเข้ามา: ไบต์เข้าไปในช่วงควบคุมที่มองไม่เห็น บนจอจะออกมาเป็นช่องว่างหรือกรอบสี่เหลี่ยม
- เครื่องหมายคำถามในกรอบ `�`: นี่คือ ตัวอักษรแทนที่ ไม่ใช่ตัวอักษรเพี้ยน — มันแปลว่า "ตรงนี้เคยมีตัวอักษร แต่หายไปตอนถูกอ่าน"

ทำไมตัวอักษรแทนที่ซ่อมไม่ได้
ตัวอักษรแทนที่คือเส้นแบ่ง การที่ `�` ปรากฏแปลว่าไบต์ถูกทิ้งไปแล้ว ในขั้นตอนที่เกิดก่อนหน้านั้น (ปกติคือมีโปรแกรมอ่านแล้วบันทึกใหม่) และส่วนที่หายไปไม่มีการจดบันทึกไว้เลย ตอนนั้นไม่มีอะไรให้เดาย้อนกลับ — ไม่มีใครซ่อมได้
เพราะแบบนี้หน้าซ่อมจึงจัดการสองกรณีต่างกัน: อัปโหลดไฟล์ ไบต์ต้นฉบับยังครบ ลองอ่านทีละการเข้ารหัสได้; ถ้าข้อความที่วางมามีตัวอักษรแทนที่แล้ว จะบอกตรงๆ ว่า "ซ่อมไม่ได้ โปรดอัปโหลดไฟล์ต้นฉบับ"
มีกรณีที่กลับด้านกันด้วย: เนื้อหาอ่านได้ปกติทุกอย่าง แต่ในโปรแกรมเล่นยังเพี้ยน นี่ไม่ใช่ความผิดของไฟล์ แต่เป็น โปรแกรมเล่นที่เลือกการเข้ารหัสผิด แก้ไฟล์ไม่มีประโยชน์ บันทึกเป็น UTF-8 แบบมี BOM หรือ GBK แล้วให้มันไป

ตอนซ่อม กำลังเปรียบเทียบอะไร
เครื่องมือลองอ่านทุกการเข้ารหัสที่เป็นไปได้ แล้วให้คะแนนแต่ละผล: สัดส่วนตัวอักษรที่ใช้บ่อย มีแถวของสระหรือวรรณยุกต์ไหม มีแถวของสัญลักษณ์ไหม ตัวอักษร CJK เป็นพวกหายากเรียงกันหรือเปล่า ผลที่คะแนนสูงสุดอยู่บนสุด
คะแนนไม่ได้ดีขึ้นอย่างชัดเจนก็ไม่แนะนำ — ยอมบอกว่า "อันนี้อ่านได้ปกติ" ดีกว่าเอาผลที่พอเหมือนภาษาคนมาหลอกให้ ถ้าผิดซ้อนสองครั้ง ตัวเลือกแรกๆ จะถูกเดาย้อนกลับอีกชั้น

บันทึกด้วยการเข้ารหัสที่ถูกถึงจะถือว่าเสร็จ
ข้อความที่ซ่อมแล้วต้องบันทึกเป็นการเข้ารหัสที่โปรแกรมเล่นรู้จัก โปรแกรมเล่นบน Windows มักใช้ BOM จำแนกการเข้ารหัส บันทึกเป็น UTF-8 แบบมี BOM สะดวกที่สุด; เครื่องเก่าหรือโปรแกรมเล่นในประเทศรู้จัก GBK ตัวเลือก: UTF-8, UTF-8 (มี BOM), GBK, Big5, Shift_JIS, EUC-KR; ถ้าใส่ไม่ได้จะให้เปลี่ยน (เช่น GBK ใส่ภาษาเกาหลีไม่ได้)

เครื่องมือและคู่มือที่เกี่ยวข้อง
ขั้นตอนทั้งหมดดู วิธีซ่อมซับไตเติลที่ตัวอักษรเพี้ยน; ในไฟล์ SRT มีอะไรอยู่กันแน่ ดู ในไฟล์ SRT เขียนอะไรไว้; การเข้ารหัสปกติแต่เนื้อหาสกปรก (ลายน้ำโฆษณา ตัวบอกสำหรับผู้บกพร่องทางการได้ยิน) ใช้ ทำความสะอาดซับไตเติล