-bash: warning: setlocale: LC_CTYPE: cannot change locale (zh_CN.UTF-8mb4): No such file or director...

作者登录服务器遇到警告,判断是字符集问题。介绍了字符集概念,如ASCII、GB2312等。指出CentOS 7以前字符集路径在/etc/sysconfig/i18n,CentOS 7在/etc/locale.conf。还给出查看语言包、系统字符集及修改配置使生效的操作方法。

前几天登录服务器发现出现了这些个警告,一直没时间去处理他,今天难得有空,处理一下并记录下来,希望可以帮助到有需要的朋友。

警告信息如下:

Last login: Tue May 21 18:54:23 2019 from 192.168.1.139
-bash: warning: setlocale: LC_CTYPE: cannot change locale (zh_CN.UTF-8mb4): No such file or directory
-bash: warning: setlocale: LC_COLLATE: cannot change locale (zh_CN.UTF-8mb4): No such file or directory
-bash: warning: setlocale: LC_MESSAGES: cannot change locale (zh_CN.UTF-8mb4): No such file or directory
-bash: warning: setlocale: LC_NUMERIC: cannot change locale (zh_CN.UTF-8mb4): No such file or directory
-bash: warning: setlocale: LC_TIME: cannot change locale (zh_CN.UTF-8mb4): No such file or directory

思路:

根据警告信息,判断是字符集的问题。

在实际工作环境下,Linux中不建议使用中午。

首先简单介绍一下字符集的概念:

简单地说,字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、GBK字符集、UTF-8字符集等。

在CentOS 7以前的版本下,默认的字符集的路径一般保存在/etc/sysconfig/i18n文件中。但是在CentOS 7版本中,字符集配置文件位于/etc/locale.conf。

在修改该文件之前,可以先查看已经安装的语言包:

列出所有已安装的语言包

# locale -a

查看系统使用的字符集

# locale

[root@localhost ~]# 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

[root@localhost ~]# cat /etc/locale.conf  
NG="en_US.UTF-8"

 

使配置生效

# source /etc/locale.conf  

 下次登录服务器就不会出现上面的问题了

参考博客:

https://www.cnblogs.com/chai-/p/9592823.html

https://yq.aliyun.com/articles/512954

转载于:https://www.cnblogs.com/djlsunshine/p/10902308.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值