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