CentOS8出现-bash:乱码问题及解决方法

出现这个情况一般是由于没有安装中文语言包,或者设置的默认语言有问题导致的。
查看当前语言环境
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

中文乱码问题得以解决

相关推荐