linux修改locale字符集编码为UTF-8/GBK,修改语言区域为zh-CN(中文-中国)

0.说明

linux系统的语言、区域、字符集编码由`locale’ [loʊˈkæl] 决定。

对应配置文件路径:

  • centos7

/etc/locale.conf

  • centos6

/etc/sysconfig/i18n

以下以centos&为例

1.查看当前生效的locale

locale

LANG=
LC_CTYPE=“POSIX”
LC_NUMERIC=“POSIX”
LC_TIME=“POSIX”
LC_COLLATE=“POSIX”
LC_MONETARY=“POSIX”
LC_MESSAGES=“POSIX”
LC_PAPER=“POSIX”
LC_NAME=“POSIX”
LC_ADDRESS=“POSIX”
LC_TELEPHONE=“POSIX”
LC_MEASUREMENT=“POSIX”
LC_IDENTIFICATION=“POSIX”
LC_ALL=

查看现有配置

cat /etc/locale.conf

LANG=“en_US.UTF-8”

1.3.查看所有支持的locale

locale -am

C
POSIX
en_AG
en_AG.utf8
en_AU
en_AU.iso88591
en_AU.utf8
en_BW
en_BW.iso88591
en_BW.utf8
………………

1.4.查看是否支持的zh_CN

不支持的话,需要安装。各种百度尝试没成功,放弃

locale -am | grep zh_CN

zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8

2.修改locale。改为LANG="zh_CN.UTF-8"

2.3.用vivim修改。

vim /etc/locale.conf

改为LANG="zh_CN.UTF-8"

2.4.重载配置文件

source /etc/locale.conf

2.5.再次查看是否生效

locale

9.补充知识

9.1 locale输出详解

运行locale指令得到当前系统编码设置的详细资料。

一、locale的五脏六腑

1、 语言符号及其分类(LC_CTYPE)
2、 数字(LC_NUMERIC)
3、 比较和排序习惯(LC_COLLATE)
4、 时间显示格式(LC_TIME)
5、 货币单位(LC_MONETARY)
6、 信息主要是提示信息,错误信息, 状态信息, 标题, 标签, 按钮和菜单等(LC_MESSAGES)
7、 姓名书写方式(LC_NAME)
8、 地址书写方式(LC_ADDRESS)
9、 电话号码书写方式(LC_TELEPHONE)
10、度量衡表达方式(LC_MEASUREMENT)
11、默认纸张尺寸大小(LC_PAPER)
12、对locale自身包含信息的概述(LC_IDENTIFICATION)。

二、理解locale的设置

设定locale就是设定12大类的locale分类属性,即 12个LC_*。除了这12个变量可以设定以外,为了简便起见,还有两个变量:LC_ALL和LANG。

它们之间有一个优先级的关系:LC_ALL > LC_* > LANG

可以这么说,LC_ALL是最上级设定或者强制设定,而LANG是默认设定值。