日期:2014-05-16  浏览次数:20650 次

Linux字符集的问题

Linux系统登录或是远程操作时或者有时候当我们在字符终端下使用man 查看某个命令的说明文档时,其内容可能会因包含类似于“”的一些乱码。在这种情况下,可以修改linux字符集。

?

?

如果默认语言是en_US.UTF-8,在Linux的字符和图形界面下都是无法显示和输入中文的.如果默认语言是中文,比如zh_CN.GB18030 或者zh_CN.gb2312,字符界面无法显示和输入,图形界面可以.


修改的方式有如下两种:


1).直接设置变量的方式修改,命令如下两条命令:
[test@pan ~]$LANG=xxx 或者 export LANG=xxx;
[test@pan ~]$LC_ALL=”xxx” 或者 export LC_ALL=”xxx”;
注:xxx为欲修改为的字符集
查看标准的字符集的方法,locale –a命令,常用的有zh_CN.GB2312、
zh_CN.GB18030或者zh_CN.UTF-8、en_US.UTF-8等
但是上述修改方式只会在当前shell中生效.新建shell此环境变量消失
故平时登录系统的执行“LANG= ”这个命令的时候显示的就没有乱码的缘故,意思就是取消了字符集的显示,和开篇提到的是一个意思


2)、修改文件方式,通过修改/etc/sysconfig/i18n文件控制
[test@pan ~]$ vi /etc/sysconfig/i18n
LANG="zh_CN.GB18030" #==>此处即为系统的语言
SUPPORTED="zh_CN.UTF-8:zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
修改文件保存退出之后要生效要执行如下命令才可生效
[test@pan ~]$ source /etc/sysconfig/i18n
用户登录shell的时候会读取其中的设定值的.