缘由:Linux显示在Windows编辑过的中文就会显示乱码是因为两个操做系统使用的编码不一样所致。Linux下使用的编码是utf8,而Windows使用的是gb18030。所以,解决Linux打开txt文件中文乱码可有以下方法。linux
方法一:使gedit支持gb18030格式的编码windows
直接双击被打开的文件默认用gedit打开,这种方式不行。可行的方式 是先打开gedit ,再选择软件左上角打开出现乱码的文件。gedit就会出现以下第一个图的提示,在黄色区域左下角有个当前的编码下拉框,点开能够本身选择想要使用的编码,若是已存在的编码方式不能打开文件,能够选择最后一项add。app
而后就出现下面这张图,在备选编码中选择文件的编码格式,而后点击左下角的+号,加入到右栏中以供选择,而后点击应用,就能够在下拉框选择该文件的编码了。通常状况下windows的编码是gb18030,但也可能你打开的不是这个格式,怎么知道文件是什么编码格式呢?能够在命令行执行"chardet3 test.txt ",test.txt是将要被打开的文件,返回结果包含文件编码格式内容。 编码
正常了。操作系统
备选方法:.net
gedit 使用一个编码匹配列表,只有在这个列表中的编码才会进行匹配,不在这个列表中的编码将显示为乱码。您要作的就是将 GB18030 加入这个匹配列表。命令行
复制如下命令到终端中,而后回车便可:3d
gconftool-2 --set --type=list --list-type=string /apps/gedit-2/preferences/encodings/auto_detected "[UTF-8,CURRENT,GB18030,BIG5-HKSCS,UTF-16]" blog
有可能你的系统已经没有/apps/gedit-2/preferences/encodings这个节点了。
gedit升级版本以后,节点的位置可能改在了org/gnome/gedit/preferences/encoding。这里根据本身状况而定。下面图形化方式也同样。
get
打开Terminal输入命令“gconf-editor”,(若是没有安装的话,输入命令安装:sudo apt-get install gconf-editor ),进入环境配置,依次展开“/apps/gedit-2/preferences/encodings/”,而后点击右上方的“auto_detected”,在弹出的页面选择添加gb18030而且向上置顶。设置完成之后全部打开的txt的文件中文显示都不会乱码了。如图所示:
参考:https://blog.csdn.net/samantha_sun/article/details/6347645
方法二:将文件编码方式改成linux支持的格式utf8
把gb18030编码的original.txt转换成utf8的target.txt。这样target.txt就成为Linux支持的编码。若是你并非想要支持那种编码,只是临时使用,则能够将文件编码格式转换成linux系统支持的格式,以gb18030转换成utf8为例:
打开Terminal,进入到txt文件所在目录,输入命令:
$ iconv -f gb18030 -t utf8 original.txt -o target.txt