![]() |
繁體中文(BIG5編碼)的 SRT 字幕呈現亂碼 |
亂碼主要的原因是播放器預設是以 UTF-8 編碼讀取,雖然有些播放器可以切換編碼選項,只要調成 BIG5 或 MS950 即可;但是有愈來愈多播放器或多媒體機上盒都是預設為 UTF-8,所以也有編碼轉換的需求。
在 Mac OS X 或 Linux 系統下,轉換編碼(BIG5 to UTF-8)並不需要藉助第三方工具,使用內建的 iconv 指令就能達成任務,這需要在終端機下操作。
![]() |
使用 iconv 指令進行轉碼 |
查看 iconv 支援哪些編碼格式:
iconv -l
因為我們已經知道原始編碼是 BIG5,所以可以用 -f 指定來源編碼,進行轉碼測試:
iconv -f big5 the_movie.cht.srt
或
iconv -f big5 -t utf-8 the_movie.cht.srt
(-t 指定轉換目的編碼,因為系統預設本來就是 UTF-8,故可省略)
先測試一次的原因是轉碼可能會失敗,例如上述指定 BIG5 轉換成系統預設(UTF-8),可能會因為某些中文字元沒有對應字碼,造成轉換失敗,訊息類似以下。
iconv: the_movie.cht.srt:57:10: cannot convert
這種情況我們可以用 -f big5-2003 或 -f cp950 重新測試一次:
iconv -f big5-2003 the_movie.cht.srt
或
iconv -f cp950 the_movie.cht.srt
確認字幕轉換完整後,再存成新檔案。
iconv -f big5-2003 the_movie.cht.srt > the_movie.cht.utf8.srt
或
iconv -f cp950 the_movie.cht.srt > the_movie.cht.utf8.srt
* CP950 與 Big5-2003 是擴充 BIG5(大五碼),所以字集比較完整。
![]() |
經過 iconv 轉碼後,影片播放就能正確顯示中文字幕 |
沒有留言:
張貼留言