Linux服务器设置中文显示
修改Linux系统语言为中文
# 查询 LANG 可以设置的值
localectl list-locales |grep -i zh

# 查询 LC_ALL 可以设置的值
locale -a |grep -i zh

修改Linux系统语言为中文
# 编辑locale.conf
vim /etc/locale.conf
配置内容如下:
# 覆盖系统所有语言设置
LC_ALL=zh_CN.UTF-8
# 设置默认语言
LANG=zh_CN.uft8

使locale.conf配置生效
source /etc/locale.conf
locale简介
参考: http://m.blog.chinaunix.net/uid-20621049-id-3427444.html
locale把按照所涉及到的文化传统的各个方面分成12个大类,这12个大类分别是:
- 语言符号及其分类(
LC_CTYPE) - 数字(
LC_NUMERIC) - 比较和排序习惯(
LC_COLLATE) - 时间显示格式(
LC_TIME) - 货币单位(
LC_MONETARY) - 信息主要是提示信息,错误信息,状态信息,标题,标签,按钮和菜单等(
LC_MESSAGES) - 姓名书写方式(
LC_NAME) - 地址书写方式(
LC_ADDRESS) - 电话号码书写方式(
LC_TELEPHONE) - 度量衡表达方式 (
LC_MEASUREMENT) - 默认纸张尺寸大小(
LC_PAPER) - 对locale自身包含信息的概述(
LC_IDENTIFICATION)。
所以说,locale就是某一个地域内的人们的语言习惯和文化传统和生活习惯。一个地区的locale就是根据这几大类的习惯定义的,这些locale定义文件放在/usr/share/i18n/locales目录下面,例如en_US, zh_CN and de_DE@euro都是locale的定义文件,这些文件都是用文本格式书写的,你可以用写字板打开,看看里边的内容,当然出了有限的注释以外,大部分东西可能你都看不懂,因为是用的Unicode的字符索引方式。
LC_ALL和LANG优先级的关系:LC_ALL > LC_* > LANG
注意:根据Debian wiki - “强烈建议不要使用 LC_ALL,因为它会覆盖所有内容,仅在测试时使用它,并且永远不要在启动文件中设置它”。
系统的本地化设置信息
# 查看当前系统的本地化设置信息
localectl status
System Locale:系统语言和区域设置。VC Keymap:虚拟控制台的键盘映射设置。X11 Layout:X11显示服务器的键盘布局设置。X11 Model:X11显示服务器的键盘型号设置。X11 Variant:X11显示服务器的键盘变体设置。X11 Options:X11显示服务器的键盘选项设置。Default Locale:默认的本地化设置。

设置Linux语言环境
# 列出可用的语言环境
localectl list-locales
# 查看可以用的zh语言环境
localectl list-locales|grep zh

# 设置中文语言环境
# 使用localectl永久修改locale的LANG
## 相当于在/etc/locale.conf中添加LANG=zh_CN.uft8
localectl set-locale LANG=zh_CN.uft8

查询可用的键盘布局
# 列出可用的键盘布局
localectl list-keymaps
# 列出可用的中文键盘布局
localectl list-keymaps | grep cn

# 设置中文键盘布局
localectl set-keymap cn
# 显示当前本地化设置
localectl status

X11键盘布局
X11 图形界面的键盘布局.
# 设置 X11 中文键盘布局
localectl set-x11-keymap cn
# 显示当前本地化设置
localectl status

常见问题:配置语言环境报错
- 配置语言环境之前,先要安装语言环境的依赖包
# 安装中文命令行支持--有可能找不到
## glibc-langpack-zh 命令行中文包
## glibc-langpack-en 命令行英文包
yum install -y glibc-common glibc-minimal-langpack glibc-langpack-zh glibc-langpack-en
- 生成语言文件
# 查看系统当前语言
echo $LANG
# 查看locale库是否存在
ll /usr/lib/locale/locale-archive
# 重新生成中文的locate文件
## 配置哪个语言就生成哪个语言文件
localedef -c -f UTF-8 -i zh_CN zh_CN.utf8

因为LC_ALL的优先级最高,所以配置LC_ALL也能够解决问题。
LC_ALL=zh_CN.UTF-8
Linux系统locale(UTF-8)报错
https://blog.csdn.net/omaidb/article/details/120104853


5286

被折叠的 条评论
为什么被折叠?



