查看字符集


[root@web ~]# echo $LANG
zh_CN.gb2312
[root@web ~]# env|grep LANG
LANG=zh_CN.gb2312
[root@web ~]# ecport|grep LANG
-bash: ecport: command not found
[root@web ~]# export|grep LANG 
declare -x LANG="zh_CN.gb2312"
[root@web ~]# locale
LANG=zh_CN.gb2312
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C

修改字符集


[root@web ~]# vim /etc/sysconfig/i18n 
  1 #LANG="en_US.UTF-8"
  2 LANG="zh_CN.gb2312"
  3 SYSFONT="latarcyrheb-sun16"
[root@web ~]# . /etc/sysconfig/i18n

注意


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

修改的方式有如下两种:
1、直接设置变量的方式修改,命令如下两条命令:
[root@david ~]# LANG=xxx 或者  export  LANG=xxx; 
[root@david ~]# 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= ”这个命令的时候显示的就没有乱码的缘故,意思就是取消了字符集的显示