(word)关于Linux下中文乱码的完整解决方案
关于Linux下中文显示为乱码的完整解决方案
Linux,作为一款免费的操作系统,相对于高额费用的Windows系列操作系统,有着更强的优势,所以,许多人也都开始学习Linux操作系统的知识。但是,由于Windows 系列操作系统还是当今社会的主流,所以,人们少不了在Windows和Linux系统之间进行文件的传输。
但是一个新问题出现了,那就是中文乱码问题,这个问题困扰着无数的Linux用户,尤其是Linux的初学者,对于这个问题相当的头疼。
主要问题如下:
1、ssh中,中文显示为乱码:在Windows 系统下,用ssh远程连接Linux系统,对于在Linux下显示正常的中文,在ssh中却显示为完全无法识别的乱码字符。
2、中文传输乱码:把Windows中的中文文件传输到Linux操作系统中,原本在Windows下显示正常的文件,到了Linux系统下,成了无法识别的乱码。
分析其原因,是因为Linux和Windows系统下,所用户的字符集不同,Linux系统使用的是Unicode字符集,而Windows使用的是GB字符集。所以,在网上出现了两种解决方案:
方法一:使用Putty代替secure shell client ssh :在Putty终端设置中,修改window-〉Translation中的Received data assumed to be in which character set值为Linux 中的字符集UTF-8,再连接Linux,发现这时,Linux中的中文可以正常显示了。
但是一个新问题出现了,把Windows中的文件上传了Linux中,原本在Windows下显示正常的中文文件,现在却成了乱码。
所以,这个方法无法彻底解决乱码问题。
方法二:修改Linux默认字符集,把Linux的默认字符集修改为和Windows中的字符集一致的GB18030或GB2312,重启Linux系统后,再用ssh终端连接,这时,修改字符集后的中文文件都已经能正常显示,而且,从Windows中新上传的中文文件也能正常显示了。这个方法不错。
但是,Linux系统在安装时,产生的中文字符(中文文件夹名、中文文件名、中文文件)在新的字符集下,却又全都显示成了乱码。
有什么方法可以彻底解决乱码问题,使在Linux系统下,所有的中文字符都可以正常显示呢?
本人综合了网上的各种解决方案,经过多次实验,终于找到了一个比较完整的解决方案,步骤如下:
第一步:用英文安装Linux系统:在安装Linux系统时,采用默认的英文安装,而不要使用中文。
第二步:修改字符集:在Linux系统安装成功以后,修改系统的默认字符集,操作如下:
在Fedora Linux系统中,编辑/etc/sysconfig/i18n文件,修改LANG值为zh_CN.GB2312或zh_CN.GB18030,保存退出。
在OpenSuSE Linux系统中,编辑/etc/sysconfig/language文件,修改RC_LANG的值为zh_CN.GB2312或zh_CN.GB18030,同时修改ROOT_USES_LANG的值为yes,保存退出。
修改完成,保存并重启系统后,在用ssh,putty终端进行连接,所有的中文字符都显示正常了,再试试用ssh自带的ftp工具上传一个文件试试,是不是都能正常显示了呢?再在Linux的Xwindow中,和自带终端中进行查看,所有的中文也都能正常显示了。