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