CentOS7中文语言乱码问题解决

1.安装中文语言包  

先查看系统是否有安装中文语言包  

# locale -a  (列出所有可用的公共语言环境的名称)

若发现以上几项,说明系统已安装中文语言包,无需再安装,那这几项代表什么意思呢?

{语言代号}_{国家代号}.{字符集}

zh是中文的代号、CN是中国的代号、gb18030,gb2312,utf8是语言字符集

那么每一项可以通俗理解为   “你是说中文的,你在中国,语言字符集是gb18030/gb2312/utf8”

如果没有发现以上几项,则手动安装中文语言包

# yum install kde-l10n-Chinese            (大概11M)

2.修改i18n国际化和locale.conf本土化配置文件

在修改配置文件之前,我们先看看当前系统语言环境

#    locale  

   

("en_US.UTF-8"按照上面的内容可以理解为“你说英语,你在美国,语言字符集为UTF-8”) 

每项的意思分别为 :

LANG:当前系统的语言

LC_CTYPE:语言符号及其分类

LC_NUMERIC:数字

LC_COLLATE:比较和排序习惯

LC_TIME:时间显示格式

LC_MONETARY:货币单位

LC_MESSAGES:信息主要是提示信息,错误信息, 状态信息, 标题, 标签, 按钮和菜单等

LC_NAME:姓名书写方式

LC_ADDRESS:地址书写方式

LC_TELEPHONE:电话号码书写方式

LC_MEASUREMENT:度量衡表达方式

LC_PAPER:默认纸张尺寸大小

LC_IDENTIFICATION:对locale自身包含信息的概述

LC_ALL:优先级最高变量,若设置了此变量,所有LC_* 和LANG变量会强制跟随它的值

我们看到虽然安装了中文语言包但本机的语言环境并不是中文,先修改i18n配置文件

#    vim /etc/sysconfig/i18n

添加如下两行代码

LANG="zh_CN.UTF-8"
LC_ALL="zh_CN.UTF-8"

#  source    /etc/sysconfig/i18n

再修改 locale.cnf配置文件

#   vim /etc/locale.conf

LANG="zh_CN.UTF-8"

#  source   /etc/locale.conf

重启系统

# reboot

3.设置终端连接编码

文件->打开->选中会话->右键->属性->终端 (我用的终端连接工具是Xshell,其它连接工具更改编码方式请自行百度)

将编码改为 UTF-8

重新连接,再查看当前系统语言环境

# locale 

发现系统语言环境已经成功改为 “zh_CN.UTF-8”

再次尝试编辑中文

# vim 你是猪吗

#  ls

SUCCESS!至此,系统中文乱码问题已解决。

猜你喜欢

转载自my.oschina.net/u/3744518/blog/1797590