2018.3.16 Ubuntu 解决中文乱码问题

一、乱码的样子类似:

°²Àï¿ü ÒÁ¸ñÀ³Ï£ÑÇ˹,°²Àï¿ü ÒÁ¸ñÀ³Ï£ÑÇ˹

这种乱码称为Gedit中文乱码

打开部分Windows下的txt文本文件的时候,中文显示为乱码。但是自己用Gedit编写新文件的时候,输入的中文却可以正常显示,保 存后再退出也可以正常显示。而且对于Windows下的文本文件,也不是全部含有中文的都显示为乱码。

整理下思路,如果真的是中文无法正常显示的问题,也就是字体设置问题,是不应该有文件能够正常显示中文的,应该全部乱码才对。而事实上并非如此,所以这个猜测可以排除。那么,会不会是文件编码的问题?Linux下默认的编码是UTF-8,而Windows下默认的编码是GB2312/GBK。难道是 编码问题引起的问题?切换到Windows系统下,输入一段中文后,保存为UTF-8的txt文件,然后再另存同一个文件为GB2312编码格式。再次切 换到Ubuntu 14.04下,打开这两个文件,果然GB2312编码的文件乱码了。

解决方法一:(好像一次只能处理一个文件)

使用convmv

把乱码文件名文件复制在一个空目录里运行(这样错了也不怕):

代码:

convmv -r -f utf8 -t iso88591 * –notest –nosmart && convmv -r -f gbk -t utf8 * –notest –nosmart

解决方法二:

打开终端,在其中输入命令:

sudo dconf-editor

如果 dconf-editor 没安装,先使用 sudo apt-get install dconf-editor 安装。

在新开的窗口里,在左边依次展开/org/gnome/gedit/perferences/encodings,修改其中的配置信息,在auto-detected项的value中的’UTF-8’后面添加, ‘GB18030’,在shown-in-menu对应值的后面添加上, ‘GB18030’(注意逗号后面有个空格)。关闭然后再次运行Gedit即可生效。

二、乱码类似这样的:╫╩┴╧╖┤╤▌▓т╒╛╦┘╢╚│

这个主要是因为zip文件对文件名的编码默认为当前环境的locale,如在windows下压缩的zip文件,在linux下其中的中文名便会乱码。这是zip格式的缺陷,所以目前并没有很完美的解决办法。

解决方法

在解压时,加上一个参数-O

unzip -O CP936 filename.zip