02-Linux目录中文显示乱码

1、问题背景

  登录linux服务器,ls 目录发现中文全部显示为“?”,但是查看某个文件里的内容,中文可以正常显示;

2、解决办法

(1)在cat /etc/sysconfig/i18n文件中添加如下行

vim /etc/sysconfig/i18n

添加如下行:
LC_ALL=en_US.UTF-8

source  /etc/sysconfig/i18n

02-Linux目录中文显示乱码

 注: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

02-Linux目录中文显示乱码

 注:修改完之后,问题解决,新开的session中文也正常显示,后面从同事那里了解到,当时有同事安装MySQL的时候好像修改了系统的环境变量

3、相关的命令

(1)查看系统支持的字符集

命令:locale -a | grep zh

02-Linux目录中文显示乱码

 (2)查看系统的版本

命令:
cat /etc/issue
cat /etc/centos-release

02-Linux目录中文显示乱码

 (3)查询系统当前所用的字体

命令:cat /etc/sysconfig/i18n

02-Linux目录中文显示乱码