-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
问题
- ssh刚登录连接时警告:
Failed to set locale, defaulting to C
或
2. linux运行命令时先报错:
Failed to set locale, defaulting to C
系统已经设置了默认地区_语言.字符集为en_US.UTF-8,但是在系统中没有定义对应的locale文件,只需要手动生成这个locale文件即可
解决:
查看当前系统的本地化设置信息
localectl status
查看系统当前语言
echo $LANG
查看locale库是否存在
ll /usr/lib/locale/locale-archive
删除locale库再重建一下
前提是你的文件系统中要有相应的数据文件。可以先cp备份一下
rm -f /usr/lib/locale/locale-archive
重新生成中文的locate文件
配置哪个语言就生成哪个语言文件
localedef -f UTF-8 -i en_US en_US.UTF-8
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?