GTK**: Locale not supported by C library
cannot change locale UTF-8
No such file or directory
这是什么错误?
出错的组件是本地化语言切换器,
用 locale命令可以查看它的设置,
用locale -a 命令可以查看它支持的语言.
如果客户端要求的编码格式,服务器无法提供,则服务器默认编码可能无法被客户端读取,会出现乱码.
不修复会怎样?
不会影响英文打字、英文存储.
会影响中文文件读取、中文文件存储. 导致出现乱码. 导致VIM无法正确读写中文.
其他博客提供的方法可行吗?
网上博客基本是三五年前的,
方案基本围绕利用locale-gen locale-set 等已被遗弃的命令, 或利用已被废除的 i18n 文件
这些命令和文件在新版的CENTOS上已经不存在了,所以也不用试了.
方案
新版本的CENTOS,语言配置文件在 /etc/locale.conf 中
里面默认只有一行:
LANG="en_US.UTF-8"
这表示系统语言是英语,
应该改成下面这样:
LANG="en_US.UTF-8"
LC_CTYPE="zh_CN.UTF-8"
LC_ALL="en_US.UTF-8"
LC_CTYPE 表示语言和类别符号,设置为用中文显示,
LC_ALL 表示其他未指明类型信息, 设置为默认用英文显示
修改后退出shell,或bash,或远程连接,再重新登录就发现错误消失了.