当前位置: 首页 > Linux

解决Ubuntu下无法设置LC_CTYPE-LC_ALL导致的汉字乱码问题

时间:2023-04-07 00:14:25 Linux

今天登录一个好久没登录的服务器执行一条SQL,发现输入的全是中文字符变成了乱码。服务器版本为Ubuntu16.04。借给了朋友安装Confluence等软件进行测试。不知道是不是和这个问题有关。不管怎样,先执行如下命令:exportLANG='zh_CN.UTF-8'exportLC_ALL='zh_CN.UTF-8'执行后还是不行。上网搜了一下,找到这篇文章:解决ubunut系统locale:CannotsetLC_CTYPEtodefaultlocale:Nosuchfileordirectory,看起来不错,终于解决了我的问题。解决方案mkdir-p/var/lib/locales/supported.d/cp/usr/share/i18n/SUPPORTED/var/lib/locales/supported.d/localcd/var/lib/locales/supported.d/catlocal|grep"en_US.UTF-8UTF-8">1.txtcatlocal|grep"zh_CN.UTF-8UTF-8">>1.txtrm-rflocal&&此时mv1.txtlocallocale-gen--purgelocale这应该工作得很好,但首先检查locale命令的输出。如果LC_ALL的值还有问题(我这里是空的),执行:exportLC_ALL=zh_CN.UTF-8至此,问题解决。注意这个方法实际上是把系统语言改成了中文。默认是英文,中文没有乱码。更好的解决方案需要进一步研究。原文地址:CrowWall笔记