在跑shell脚本过程中,无论输入什么中文都报错,都怀疑是编译器的问题了,最终查看服务器系统编码才发现出问题了。
输入中文都报错,图中所示的应该显示:无此文件,结果显示乱码
解决办法:
(1)第一步:查看默认编码,结果发现并不是UTF-8形式
[root@hd6 ky]# locale
LANG=zh_CN
LC_CTYPE="zh_CN"
LC_NUMERIC="zh_CN"
LC_TIME="zh_CN"
LC_COLLATE="zh_CN"
LC_MONETARY="zh_CN"
LC_MESSAGES="zh_CN"
LC_PAPER="zh_CN"
LC_NAME="zh_CN"
LC_ADDRESS="zh_CN"
LC_TELEPHONE="zh_CN"
LC_MEASUREMENT="zh_CN"
LC_IDENTIFICATION="zh_CN"
LC_ALL=
(2)第二步:修改默认编码,将zh_CN改为UTF-8
vi /etc/locale.conf
(3)第三步:加入系统配置
source /etc/locale.conf
(4)第四步:再次查看系统默认编码,转成UTF-8形式了
[root@hd6 ky]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
(5)第五步:测试配置是否成功
[root@hd6 ky]# echo "这是一个测试"
这是一个测试
这样表示配置成功了!!!!!