一·查看字符集
字符集在系統中體現形式是一個環境變量,其查看當前終端使用字符集的方式可以有以下幾種方式:
1、[root@ ~]# echo $LANG
en_US.UTF-8
2、[root@ ~]# env |grep LANG
LANG=en_US.UTF-8
3、[root@david ~]# export |grep LANG
declare -x LANG="en_US.UTF-8"
4、[root@ ~]# locale -a //查看本地字符集
[root@ ~]# locale -m //查看所有支持的字符集
二、set,env和export這三個命令的區別
set 顯示當前shell的變量,包括當前用戶的變量
env 顯示當前用戶的變量
export 顯示當前導出成用戶變量的shell變量
set 用來顯示本地變量
env 用來顯示環境變量
export 用來顯示和設置環境變量
比如設置用戶LANG
查看LANG env | grep LANG
設置LANG export LANG=zh_CH.GBK
三、修改字符集的方式
需注意的是:如果默認語言是en_US.UTF-8,在Linux的字符和圖形界面下都是無法顯示和輸入中文的。如果默認語言是中文,比如zh_CN.GB18030 或者
zh_CN.gb2312,字符界面無法顯示和輸入,圖形界面可以。
修改的方式有如下兩種:
1、直接設置變量的方式修改,命令如下兩條命令:
[root@ ~]# LANG=xxx 或者 export LANG=xxx;
[root@ ~]# 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= ”這個命令就沒有亂碼的緣故,意思就是取消了字符集的顯示.
取消字符集還可以執行[root@ ~]# unset LANG這個命令。
2、修改文件方式,通過修改/etc/sysconfig/i18n文件控制
[root@ ~]# vim /etc/sysconfig/i18n
LANG="en_US.UTF-8" //當前系統的語言環境變量
SUPPORTED="zh_CN.UTF-8:zh_CN.GB18030" //系統預置了那些語言支持 ,不在項目中的語言不能正常 顯示
SYSFONT="latarcyrheb-sun16" //定義控制台終端字體,你文本登錄的時候顯示的字體就 是這個 latarcyrheb-sun16
修改文件保存退出之后要生效要執行如下命令,重啟才可生效
[root@ ~]#source /etc/sysconfig/i18n