Linux 系統中,默認使用 UTF-8 編碼。有時,我們下載的一些文件(比如 TXT 電子書,中文字幕等)使用了 GBK 編碼,這樣,當我們讀取這些文件時,就會看到亂碼。一般來說,有兩種解決辦法。
如果你只需要閱讀文檔,那么可以使用 Emacs 打開文檔,將當前 Buffer 的編碼系統切換為 GBK,從而保證文檔被正確解碼,運行如下命令即可:
M-x revert-buffer-with-coding-system RET chinese-gbk RET
如果你需要保存這個文檔的話,可以使用 iconv 命令,將文檔轉換為 UTF-8 編碼的文檔,從而一勞永逸地解決編碼問題,運行如下命令即可:
iconv -f GBK -t UTF-8 gbk.txt > utf.txt
此外,可能你會遇到其他種類的編碼,比如 GB2312,GB18030 等等,你可以運行如下命令來列出 iconv 命令所支持的正確的編碼名稱:
iconv -l