-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=