中文字幕亂碼修復(SRT、ASS、VTT)

下載的中文字幕在電視、Plex 或播放器裡變成 � 或一堆看不懂的字?問題幾乎都出在編碼:字幕是 Big5,播放器卻用 UTF-8 讀取,或是反過來。把字幕檔拖到下面的框中,Mojibuster 會自動修復並存成 UTF-8。

支援文字與以下檔案:

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

例如 Excel 匯出、資料庫備份、字幕或網站程式碼。

修復

  1. 拖入檔案或貼上文字
  2. 自動修復
  3. 複製或下載
或把檔案拖到這裡
  • 不必上傳。 檔案直接在瀏覽器中修復,不會離開你的裝置。

  • 伺服器位於歐盟。 Mojibuster 在 芬蘭(歐盟)的伺服器上運作,受《一般資料保護規則》(GDPR)規範。 GDPR 全文(EUR-Lex,英文)

為什麼字幕會變成亂碼

SRT 和 ASS 檔案裡沒有寫明自己用的是哪種編碼,播放器只能用猜的。字幕網站和雲端硬碟裡的繁體字幕,尤其是幾年前的舊字幕,很多是用 Big5 儲存的;而智慧電視、Plex、Jellyfin、Kodi 大多預設用 UTF-8 讀取,中文就變成 � 或方塊。反過來,UTF-8 字幕被當成 Big5 讀取時,會出現 雿末 這類怪字,中間還夾著 �。

Big5 字幕在國外的播放器中顯示時

亂碼

1
00:00:01,000 --> 00:00:03,500
§Ú­Ì¤µ±ß¥h¬Ý¹q¼v§a¡C

2
00:00:04,000 --> 00:00:06,000
¦n°Ú¡A´XÂI¦bªù¤f¨£¡H

修復後

1
00:00:01,000 --> 00:00:03,500
我們今晚去看電影吧。

2
00:00:04,000 --> 00:00:06,000
好啊,幾點在門口見?

常見的亂碼樣子

  • � 或空白方塊:Big5 字幕被當成 UTF-8 讀取。檔案裡的位元組其實都還在,用原始檔案就能完整恢復。
  • 雿末 夾雜 �:UTF-8 字幕被當成 Big5 讀取。被換成 � 的部分如果又被存檔,就救不回來了。
  • ¤¤¤å¦r¹õ:Big5 字幕在國外的播放器或西文系統中顯示。這類舊檔案的轉換請見 Big5 轉 UTF-8。
  • 笢恅趼躉 這種看似中文卻讀不通的字:簡體 GBK 字幕被當成 Big5 讀取,下面另外說明。

修復步驟

  1. 把 .srt 或 .vtt 字幕檔拖到上面的框中。
  2. Mojibuster 會自動辨識 Big5、Big5-HKSCS、GBK 和 UTF-8,並修復亂碼。用哪種編碼讀取,會顯示在結果區。
  3. 按 下載,取得 UTF-8 格式的字幕,取代影片旁邊的舊檔案。檔名要和影片相同,播放器才會自動載入。

時間軸、序號、換行和斜體等格式標籤都不會被更動,只有亂碼的文字會被修復。

ASS、SSA 字幕怎麼辦

雙語字幕和特效字幕常用 .ass 或 .ssa 格式。檔案選擇框目前不直接接受這兩種副檔名,但它們和 SRT 一樣是純文字:把檔名改成 .txt,修復後下載,再把副檔名改回 .ass 就可以了。樣式裡的字型名稱(例如 微軟正黑體)如果也亂了,會一起被修復。

如果編輯器裡顯示的是 �,請用改副檔名的方法處理原始檔案,不要複製貼上:� 裡已經沒有原本的位元組了。

簡體和繁體字幕互相亂碼

從中國網站下載的字幕多半是 GBK 編碼。繁體中文 Windows 和不少播放器會用 Big5 讀取它,於是 中文字幕 變成 笢恅趼躉 這種每個字都認得、整句卻讀不通的亂碼。反過來,Big5 字幕在簡體系統上會變成夾雜日文假名的 いゅ辊。

這類檔案請直接拖入原始檔案:Mojibuster 會比較 Big5、GBK 等讀法,選出最合理的一種;如果選錯了,可以按結果區提示中的 以 … 讀取 換一種編碼。注意:Mojibuster 只修復編碼,不做簡繁轉換,GBK 字幕修復後仍然是簡體字。

各播放器的提示

  • VLC:在 工具 → 偏好設定 → 字幕 / OSD 中可以設定預設編碼。但只能設一種,Big5 和 UTF-8 字幕混在一起時,總有一部分會亂碼。
  • PotPlayer:通常能自動辨識編碼,辨識錯誤時可以在字幕設定裡手動指定字元集。
  • Kodi:設定中可以為字幕指定字元集,同樣只能選一種。
  • Plex、Jellyfin、Emby 和智慧電視:基本上都用 UTF-8 讀取,外掛字幕請一律存成 UTF-8(不含 BOM)。
  • WebVTT(.vtt)依規範必須是 UTF-8。

以後怎麼避免

  • 下載字幕後先統一轉成 UTF-8,再放進媒體庫。
  • 用 Aegisub 等工具編輯字幕時,存成 UTF-8。
  • 在 Notepad++ 中可以查看並轉換單一檔案的編碼。
  • 不要把顯示成亂碼的字幕直接另存新檔:亂碼一旦存檔,被換成 ? 或 � 的字就遺失了(請見 亂碼是什麼?)。

常見問題

字幕裡的 � 能修復嗎?

要看 � 出現在哪裡。如果是播放器把原始字幕顯示成 �,檔案本身沒有壞,把原始檔案拖進來就能恢復。如果 � 已經被存進檔案,原本的文字就遺失了,只能重新下載字幕。

修復後時間軸會變嗎?

不會。只改亂碼的文字,時間軸、序號和換行(包括 Windows 的 CRLF)都維持不變。

電視播放外掛字幕出現亂碼怎麼辦?

大多數智慧電視和電視盒只認 UTF-8。用 Mojibuster 把字幕轉成 UTF-8,和影片放在同一個資料夾並使用相同檔名,再重新播放,例如從隨身碟播放時。

能把字幕轉回 Big5 嗎?

目前只能存成 UTF-8。現在幾乎所有播放器都支援 UTF-8,一般不需要 Big5。

字幕檔會被上傳嗎?

不會。處理完全在瀏覽器中進行,檔案不會離開你的裝置。

更多說明