首页 > 代码库 > couldn't set locale: correctly报错的解决

couldn't set locale: correctly报错的解决

最近登录一台Solaris的服务器时,总提示:”couldn‘t set locale: correctly“的信息。

碰巧执行一个shell脚本,执行的开始还是出现了”couldn‘t set locale: correctly“的信息,但未影响后面的逻辑。


这里提示的是locale有错,查了下locale命令是将有关当前语言环境或全部公共语言环境的信息写到标准输出上。公共语言环境是所有应用程序可以使用的语言环境。即使用这个命令设置程序运行的不同语言环境。执行locale -a可以查看当前系统支持的所有语言环境:

再查看用户.profile文件,发现设置的LANG=c,这里是小c,不是大C,也就是说是用.profile定义的用户使用小c的语言环境,但系统的locale中并没有小c的语言环境,因此报错locale设置的不对。但由于此处仅仅是设置程序运行的语言环境,对于程序的后台逻辑可能并不会产生影响。

这设置的LANG=C,”C“对应的是英文ASCII环境。建议如果中文系统的Linux终端显示有乱码,可以尝试此种设置解决。在ASCII环境下,是无法键入中文字符的。


总结

任何成熟系统的提示信息,一般都会对于问题的定位有所帮助,往往一两个单词的含义就能为你判断问题指明方向,当然,也少不了baidu或google的帮助,认真积累每个错误,即使再小的错误,也可以从中吸取到一定的价值,虽然现在不熟,但相信只要坚持下来,总会有些长进。

couldn't set locale: correctly报错的解决