Linux下中文乱码如何处理?

我在Linux下使用Mousepad打开含有中文字符的txt文件会提示编码选择,但是当使用其它不知道如何设置编码的编辑器(如ReText)的时候就会出现乱码,请问如何解决?

阅读 7.6k
3 个回答

一般的乱码都是因为中文文件为 GBK 编码,而系统为 UTF-8 导致。

几个方案:

一、临时修改环境变量

命令行调用编辑器,并修改相应的环境变量,例如 LC_ALL=zh_CN.GBK ReText file

二、修改系统默认的 locale 为 zh_CN.GBK

三、使用 iconv 转化文件的编码为 UTF-8

iconv -f gbk -t utf-8 file.gbk > file.utf-8

四、学习如何修改特定编辑器编码设置

当不清楚文件当前编码时,又需要转换为某一目标编码时可以使用enca,它可以自动识别当前编码

还是别用mousepad了,那个编辑器太简单。 学习用个有前途的编辑器,比如vim, emacs, sublime等。Gnome下的Gedit或是KDE下的kate也可以。 经过配置,这些编辑器都可以自动识别文件编码,不会产生乱码问题。 而且学好之后,不管是编程还是写文档,你可以都用一个编辑器。 一些编辑器虽然要花时间学习,但从长远来看,会提高你的工作效率。

推荐问题
宣传栏