先说点儿废话:这一年来,由于各种大大小小的原因,博客没有写了多少,今年准备开始好好写一写了!最近的状态也不错!
今天用阿里云ubuntu服务器时,又遇到了乱码的问题。其实这个乱码的问题,以前碰到过多次,可每次都用了好长时间解决。今天差不多用了将近一个小时吧,其实细细想来,如果会认真的用,用不了半分钟全搞定。因此,今天写这篇文章!
一:遇到乱码先认真分析
在Linux服务器上(Ubuntu就是Linux,有些人居然不知道),乱码无非是三种问题
1、服务器本身就不支持中文,无论中文UTF8还是GBK(这个现在一般不用考虑,据说除非你使用外国的服务器,忽略不计) 2、shell编码设置的问题,我用xshell(具体shell百度找) 3、vim编辑器是否支持GBK(具体编辑器百度查找吧) 4、转码(Windows下用Notepad++,Linux下用iconv)
二:相关配置,第一步分析完了,这一步来设置,分为两步
1、设备xshell编码(文件-属性-终端-编码-UTF8),具体如下图
这时我们在终端就可以建立中文文件夹了,如图:
2、设置vim编辑器支持GBK
打开vim的配置文件,位置在/home/username/.vimrc或者/etc/vim/vimrc,我修改的是后者,
在其中加入
set fileencodings=utf-8,gb2312,gbk,gb18030 set termencoding=utf-8 set encoding=prc
如图:
保存退出,此时vim就能正确显示中文了。
以前我们打开文件是这样的乱码
正常显示就是这个样子的,是不是感觉很舒服呢!!!
3、转码
建议利用covmv进行转码,百度方法很多参数,最实用就这么一句
convmv -f GBK -t UTF-8 --notest *.mp3
4、繁体字
我曾经遇到繁体字和简体字在一起的乱码,我去!我用了五六个小时都没有解决,网上各种方法我都用遍了,还没有解决。最后用 nano index.html 这种方法一看,是正常的!我一下崩溃了!
用排除法,一看段落里有繁体字。
于是我们在vim中转换就可以看到正常的了,如下:
set termencoding=cp936
原因是这里:
euc-cn是GB2312的别名,不支持繁体汉字。cp936是GBK的别名,是GB2312的超集,可以支持繁体汉字。
更详细的原因请看这两篇文章:
《VIM中文乱码原理详解及终极解决方案[经典]》 http://blog.chinaunix.net/uid-21843387-id-106001.html
《 ubuntu下的vim和gvim汉字(中文)乱码解决方法 》 http://blog.csdn.net/feiniao1221/article/details/7000868