此处以 en_US.UTF-8
为例(排错其他语言包也同理):
-
cat /etc/locale.gen | grep en_US.UTF-8
查看是否有 en_US.UTF-8 内容 -
vim /etc/locale.gen
去掉en_US.UTF-8
前面的#号注释 -
sudo locale-gen
重新生成本地化文件 -
locale -a
查看是否有en_US.utf8
该项内容 -
再次
localedef --list-archive
查看是否有en_US.utf8
该项内容; -
到此为止,问题已基本解决,可以再次测试原报错的情况是否还存在
===========================
参考资料来源:
https://itnext.io/linux-setlocale-lc-all-cannot-change-locale-en-us-utf8-and-cyrillic-symbols-2d846fe3c166
https://stackoverflow.com/questions/66859800/bin-bash-warning-setlocale-lc-all-cannot-change-locale-en-us-utf-8
https://stackoverflow.com/questions/55077450/linode-lish-bash-warning-setlocale-lc-all-cannot-change-locale-en-us-utf-8