字 AI-SRTSub

Lỗi ký tự phụ đề từ đâu mà ra

Cùng một đoạn byte, đọc theo UTF-8 và theo GBK ra hai bộ ký tự hoàn toàn khác. Dạng của lỗi ký tự chính là bằng chứng trực tiếp cho bước nào bị sai.

Cập nhật 2026-10-17Hướng dẫn xử lý sự cố

File không hỏng, đọc sai mới đúng

Trong file phụ đề lưu là byte. Muốn biến byte thành chữ phải biết nó viết theo bảng mã nào — bước này chọn sai thì kết quả là lỗi ký tự. File không mất một byte nào; đọc lại bằng bảng mã khác, chữ trả về.

Tức là có hai việc khác nhau: nhận ra bảng mã gốc là gì, và lưu thành bảng mã mà trình phát nhận được. Việc đầu nhờ thử đọc rồi chấm điểm, việc sau nhờ lưu thành. Hai việc này sửa hai vấn đề khác nhau.

Năm dạng, năm nguyên nhân

Lỗi ký tự không mọc ngẫu nhiên; dạng của nó lộ ngay nguyên nhân:

  • Chữ cái có dấu đứng thành dải (`ä½ å¥½`): tiếng Trung UTF-8 bị đọc theo kiểu một byte — trong UTF-8 một chữ Hán chiếm ba byte, đọc từng byte thì mỗi byte hóa thành một chữ cái riêng
  • Chữ Hán đứng liền nhau mà không có chữ nào thông dụng: UTF-8 bị đọc theo GBK — byte được ghép lại từng cặp, và mỗi cặp rơi vào một chữ hiếm
  • Đống ký hiệu tiền tệ, ký hiệu toán học: byte rơi vào vùng ký hiệu, hay gặp khi bị đọc theo Mac Roman hoặc họ Latin-1
  • Ký tự điều khiển lẫn vào: byte lọt vào vùng điều khiển không nhìn thấy, trên màn hiện thành chỗ trống hoặc ô vuông
  • Dấu hỏi trong ô vuông `�`: đây là ký tự thay thế, không phải lỗi ký tự — nó nghĩa là "ở đây từng có một chữ, nhưng đã mất khi đọc"
Thẻ chẩn đoán: liệt kê loại dấu vết lỗi ký tự theo từng dòng
Chẩn đoán chia lỗi ký tự theo nguyên nhân, không gộp lại thành một câu "nó lỗi"

Vì sao ký tự thay thế không sửa được

Ký tự thay thế là đường ranh giới. Việc `�` xuất hiện nghĩa là byte đã bị bỏ đi ở bước xảy ra trước đó (thường là có chương trình đọc rồi lưu lại), và phần bị bỏ không được ghi lại chút nào. Lúc đó không có cơ sở để suy ngược — không ai sửa được.

Vì vậy trang sửa xử lý hai tình huống khác nhau: tải file lên thì byte gốc còn nguyên, có thể thử từng bảng mã; nếu nội dung dán đã có ký tự thay thế, sẽ nói thẳng "không sửa được, hãy tải file gốc lên".

Có cả tình huống ngược lại: nội dung đọc hoàn toàn bình thường, nhưng trong trình phát vẫn lỗi. Đây không phải lỗi của file, mà là trình phát chọn sai bảng mã. Sửa file vô ích; lưu một bản UTF-8 có BOM hoặc GBK đưa cho nó là xong.

Vùng tải lên: kéo thả để tải lên và dán — hai cửa vào
Có thể tải file lên thì cứ tải lên — còn byte thì mới có cái để sửa

Khi sửa, đang so sánh cái gì

Công cụ thử hết mọi bảng mã có thể, rồi chấm điểm từng kết quả: tỷ lệ chữ thông dụng là bao nhiêu, có dải dấu không, có dải ký hiệu không, chữ Hán có phải dải chữ hiếm không. Bản điểm cao nhất đứng trên cùng.

Điểm không tốt hơn rõ rệt thì không đề xuất — thà bảo "bản này đọc bình thường" còn hơn đưa một kết quả chỉ hơi giống ngôn ngữ người. Với bản bị sai hai lần, vài phương án đầu sẽ được suy ngược thêm một lớp.

Danh sách phương án: xếp theo điểm, mỗi mục ghi cặp bảng mã
Phương án xếp theo điểm; điểm không vượt trội thì không đề xuất

Lưu đúng bảng mã mới tính xong

Đoạn văn đã sửa vẫn phải lưu thành bảng mã trình phát nhận được. Trình phát trên Windows thường nhận bảng mã nhờ BOM, nên lưu thành UTF-8 có BOM là tiện nhất; thiết bị cũ hoặc trình phát nội địa nhận GBK. Tùy chọn: UTF-8, UTF-8 (có BOM), GBK, Big5, Shift_JIS, EUC-KR; không chứa được sẽ nhắc đổi (ví dụ GBK không chứa được tiếng Hàn).

Vùng kết quả: dropdown bảng mã lưu thành và nút tải về
Lưu thành bảng mã trình phát nhận được, lỗi ký tự mới thật sự xong

Công cụ và hướng dẫn liên quan

Các bước đầy đủ xem Cách sửa phụ đề lỗi ký tự; trong file SRT rốt cuộc chứa gì xem Trong file SRT viết những gì; bảng mã bình thường nhưng nội dung bẩn (hình mờ quảng cáo, chỉ dẫn cho người khiếm thính) dùng Làm sạch phụ đề.

Tất cả diễn ra trong trình duyệt, không cần cài đặt.

Mở công cụ sửa lỗi ký tự

Hướng dẫn liên quan