Linux下修改系统编码的操作记录

时间:2021-10-04 05:16:41

Linux系统安装后,发现中文显示乱码。因为系统编码为en_US.UTF-8,应改为支持中文的编码(即zh_CN.UTF-8)
操作记录如下:
1)检查linux的系统编码
检查linux的系统编码,确定系统是否支持中文。在linux系统的终端中输入命令:locale,就会看到打印出的系统编码信息。
[root@xqsj-beta ~]# locale
LANG=en_US.UTF-8                       
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

修改系统编码,使其支持中文
方法一:
(2)编辑系统编码文件
[root@xqsj-beta ~]# vim /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
[root@xqsj-beta ~]# source /etc/sysconfig/i18n

再次查看系统编码,发现已改为支持中文的编码
[root@xqsj-beta ~]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

方法二
(3)在系统的环境变量文件终加入路径变量的声明,对整个系统起作用
[root@xqsj-beta ~]# vim /etc/profile               //在文件底部添加如下内容
........
LC_ALL="zh_CN.UTF-8"
export LANG="zh_CN.UTF-8"
[root@xqsj-beta ~]# source /etc/profile
[root@xqsj-beta ~]# locale
---------------------------------------------------------------------------------------------
发现在Windows下编辑的中文,在Linux下显示为乱码的问题。
这是由于Windows的默认编码为GBK,而Linux的默认编码为UTF-8。
若要解决此问题,需要修改Linux的默认编码为GBK。
[root@xqsj-beta ~]# vim /etc/sysconfig/i18n
LANG="zh_CN.GBK"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
SYSFONT="latarcyrheb-sun16"
[root@xqsj-beta ~]# source /etc/sysconfig/i18n
[root@xqsj-beta ~]# locale

或者直接修改系统环境变量
[root@xqsj-beta ~]# vim /etc/profile
......
export LC_ALL="zh_CN.GBK"
export LANG="zh_CN.GBK"
[root@xqsj-beta ~]# source /etc/profile
[root@xqsj-beta ~]# locale