解决方案
方法1:直接修复locale设置
-
编辑locale配置文件:
sudo nano /etc/default/locale -
将文件内容修改为以下内容:
LANG="en_US.UTF-8" LANGUAGE="en_US:en" LC_ALL="en_US.UTF-8" -
保存并退出(按 Ctrl+X,然后按 Y,最后按 Enter)
-
重新生成locale:
sudo locale-gen en_US.UTF-8 sudo locale-gen en_GB.UTF-8 sudo update-locale
方法2:使用dpkg-reconfigure重置locale
如果方法1不奏效,尝试这个更彻底的方法:
sudo dpkg-reconfigure locales
在出现的界面中:
- 使用空格键选择
en_US.UTF-8和en_GB.UTF-8 - 确保取消选择所有中文locale(如
zh_CN.UTF-8) - 在下一步中,选择
en_US.UTF-8作为系统默认locale
方法3:手动清理并重新设置
-
清除所有locale设置:
sudo update-locale --reset -
重新设置:
sudo update-locale LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 -
重新生成locale:
sudo locale-gen --purge sudo locale-gen en_US.UTF-8 sudo locale-gen en_GB.UTF-8
方法4:检查并修复环境变量
有时候用户级别的设置也会冲突,检查一下:
# 检查当前shell的环境变量
locale# 如果有问题,可以临时修复
export LANG=en_US.UTF-8
export LANGUAGE=en_US:en
export LC_ALL=en_US.UTF-8
完成修复后的验证
完成上述任一方法后,请执行:
# 重启系统
sudo reboot# 重启后验证
locale
您应该看到所有locale变量都设置为英文,且不再有错误信息。
最后使用raspi-config
修复locale问题后,您可以再次运行:
sudo raspi-config
pi@raspberrypi:~ $ locale
LANG=en_US.UTF-8
LANGUAGE=
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=en_US.UTF-8