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