-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.utf8)
本地化是指不一样地区用户在键盘上输入不一样语言的字符集。例如 en_US 表示美国英语字符集,所以只有正确设置了服务器的字符集,服务器才能理解用户的输入字符。setlocale 命令能够帮助用户来设置本地化字符集。bash
出现以上问题是由于服务器没法理解 en_US.UTF-8 字符集,所以首先要在服务器上生成 en_US.UTF-8 字符集:服务器
sudo locale-gen en_US.UTF-8
而后使用最新生成的字符集更新本地仓库:oracle
sudo dpkg-reconfigure locales
最后更新 /etc/default/locale
文件,例如更新前的文件内容为:code
LANG=C.UTF-8
更新后:blog
LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
环境变量 LC_ALL 会覆写全部的本地化设置(在某些状况下 $LANGUAGE 不会被覆写),例如 LC_NAME, LC_ADDRESS 等等。设置 LC_ALL=en_US.UTF-8 表示全部的本地化设置都使用 en_US.UTF-8。get
从新登陆服务器,warning 警告再也不出现,问题解决。登录
bash: warning: setlocale: LC_ALL: cannot change locale (en_US)变量