1、问题背景
登录linux服务器,ls 目录发现中文全部显示为“?”,但是查看某个文件里的内容,中文可以正常显示;
2、解决办法
(1)在cat /etc/sysconfig/i18n文件中添加如下行
vim /etc/sysconfig/i18n 添加如下行: LC_ALL=en_US.UTF-8 source /etc/sysconfig/i18n
注:source完之后,再次查看目录下的中文,发现显示正常,但是新开一个窗口,发现中文还是都显示为“?”,所用该修改只是对当前session生效了;
(2)查看/etc/profile文件的内容,发现该文件下配置了LC_ALL,并且如下:
export LC_ALL=C
修改/etc/profile下的LC_ALL配置并source
vim /etc/profile export LC_ALL=en_US.UTF-8 source /etc/profile
注:修改完之后,问题解决,新开的session中文也正常显示,后面从同事那里了解到,当时有同事安装MySQL的时候好像修改了系统的环境变量
3、相关的命令
(1)查看系统支持的字符集
命令:locale -a | grep zh
(2)查看系统的版本
命令: cat /etc/issue cat /etc/centos-release
(3)查询系统当前所用的字体
命令:cat /etc/sysconfig/i18n