CentOS修改locale

来自艾毕思知识库
跳转至: 导航搜索

使用一些国家的VPS时,可能会遇到默认地域配置是当地语言的情况,当通过终端使用服务器时,一些系统提示信息里会显示完全看不懂的语言,比如日语。如何修改这种状态?

以CentOS为例

查看当前地域配置信息

# locale

输出:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: LC_ALL?????????????????????: ??????????????????????
LANG=ja_JP.UTF-8
LC_CTYPE=UTF-8
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=

这就是在系统中会出现类似warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): そのようなファイルやディレクトリはありません信息的原因: Locale的国家代码是日本,语言是日语。

查看系统支持区域列表

# locale -a

查看系统支持的所有区域列表,结构为语言码_国家码.编码方式,如:

en_US.utf8
zh_CN.gb18030

例子第一行是英语,美国,UTF8编码,第二行是中文,中国,gb18030编码。

⚠ 不管是什么区域和语言,一般情况下我们建议如果该语言支持utf8编码时尽量使用utf8编码方式。

编辑区域配置文件

现在我们需要把它修改为英语。

# vi /etc/sysconfig/i18n

找到LANG配置,修改LANG值为:

LANG="en_US.UTF-8"

保存后在下次登录时修改生效,以后就不用猜看不懂的语言了。

使更改马上生效

通过上面的操作,你已经完成了系统区域信息的修改,如果你想马上看到修改效果而不用重新登录:

# source /etc/sysconfig/i18n

可以通过

# echo $LANG

简单确认系统当前的内容是否和你配置的一致,如果需要详细的区域配置信息,还是和本文开始的方法一样:# locale


tips: 本文开始出的错误提示因为LC_ALL的值配置为了空,可以通过# export LC_ALL=en_US消除提醒。