-bash: warning: setlocale: LC_CTYPE: cannot change locale (EN_US.UTF-8)
把linux系統從中文設置英文字符集後發生如下報錯
首先本系統字符集爲中文UTF-8
[root@localhost ~]# more /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
修改成英文UTF-8
[root@localhost ~]# vim /etc/sysconfig/i18n
LANG="EN_US.UTF-8"
source生效
[root@localhost ~]# source /etc/sysconfig/i18n
LANG="EN_US.UTF-8"
用secureCRT登錄後報如下錯誤
Last login: Sat Oct 20 11:35:03 2012 from 162.16.16.144
-bash: warning: setlocale: LC_CTYPE: cannot change locale (EN_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_COLLATE: cannot change locale (EN_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_MESSAGES: cannot change locale (EN_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_NUMERIC: cannot change locale (EN_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_TIME: cannot change locale (EN_US.UTF-8): No such file or directory
從新修改成英文UTF-8字符集en爲小寫
[root@localhost ~]# vim /etc/sysconfig/i18n
LANG="en_US.UTF-8"
source生效
[root@localhost ~]# source /etc/sysconfig/i18n
LANG="en_US.UTF-8"
用secureCRT登錄,錯誤消失,看來是大小寫的錯誤形成的找不到語言環境
[root@localhost ~]#
Last login: Sat Oct 20 11:35:03 2012 from 162.16.16.144
執行locale命令能夠看出錯誤所在
[root@localhost ~]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
linux