出現這個情況一般是由于沒有安裝中文語言包,或者設置的默認語言有問題導致的。
查看當前語言環境
echo $LANG
發現為
zh_TW.UTF-8
但是中文語言包沒安裝或沒啟用,就會出現亂碼
輸入LANG=en_US
設置顯示為英文,此命令即時生效,但不能永久生效,永久生效看下面。
此時,再次輸入命令就可以看到英文報錯信息了
如果一定需要中文提示,可以這樣安裝:
yum groupinstall chinese-support
設置本地默認語言環境
vim /etc/locale.conf
加入
LANG=“zh_TW.UTF-8”
即時永久生效
source /etc/locale.conf
輸locale
可以查看本地語言環境
LANG=zh_TW.UTF-8
LC_CTYPE="zh_TW.UTF-8"
LC_NUMERIC=zh_TW.UTF-8
LC_TIME=zh_TW.UTF-8
LC_COLLATE="zh_TW.UTF-8"
LC_MONETARY=zh_TW.UTF-8
LC_MESSAGES="zh_TW.UTF-8"
LC_PAPER=zh_TW.UTF-8
LC_NAME="zh_TW.UTF-8"
LC_ADDRESS="zh_TW.UTF-8"
LC_TELEPHONE="zh_TW.UTF-8"
LC_MEASUREMENT=zh_TW.UTF-8
LC_IDENTIFICATION="zh_TW.UTF-8"
LC_ALL=
注意,我這變語言環境是臺灣繁體,中文簡體應將TW改為CN
附錄:下面看下centos中顯示utf-8編碼格式的shell腳本有中文亂碼解決方法
問題現象
自己編寫的shell腳本,保存的編碼格式為utf-8,但是上傳到centos中,顯示為中為亂碼
使用file shell.sh
查看文件的編碼格式
shell.sh: UTF-8 Unicode text
解決方法
使用iconv 把文件編碼格式轉換成為gb2312
iconv -f utf-8 -t gb2312 shell.sh > shell2.sh
再次file shell2.sh查看文件編碼
linuxsec2.sh: ISO-8859 text
中文亂碼問題得以解決
到此這篇關于CentOS8出現-bash:亂碼問題的文章就介紹到這了,更多相關centos bash 亂碼內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!