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