Centos 中文乱码解决方法
问题描述
crontab -e
添加定时任务时,直接将下面内容粘贴过去,结果竟然乱码了。
# 每个星期日凌晨3:00执行完全备份脚本
0 3 * * 0 /bin/bash -x /root/bash/Mysql-FullyBak.sh >/dev/null 2>&1
# 周一到周六凌晨3:00做增量备份
0 3 * * 1-6 /bin/bash -x /root/bash/Mysql-DailyBak.sh >/dev/null 2>&1
变成了这个样子
# 每赂枚脷脮璩:00执脨脥全卤赂路萁疟戮
0 3 * * 0 /bin/bash -x /root/bash/Mysql-FullyBak.sh >/dev/null 2>&1
# 脰一碌陆脰脕脕鲁驴3:00脳脭^?卤赂路脻0 3 * * 1-6 /bin/bash -x /root/bash/Mysql-DailyBak.sh >/dev/null 2>&1
就在昨天,还在另外一台机器上按照百度的结果解决了乱码问题,今天又遇到这个问题,结果解决方法忘了个一干二净,还得重新百度。-_-!!
解决步骤
1. 查看系统是否安装了中文语言包
# locale -a | grep 'zh_CN'
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
如果没有任何输出的话,就说明系统没有安装中文语言包。使用一下命令安装
# yum groupinstall "fonts" -y
tip: 该命令我没有亲自试验过,是从这个网址 拷过来的。请谨慎使用,出错勿怪。(不过应该没问题,就算有问题也不要害怕,继续百度)
2. 修改语言环境配置
查看当前语言环境
# echo $LANG
en_US.UTF-8
# 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=
修改语言环境
第一方法
# vim /etc/locale.conf
LANG=zh_CN
# source /etc/locale.conf
第二种方法
# localectl set-locale LANG=zh_CN
现在再看语言环境
# 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=
3. 观察实验结果
# 每个星期日凌晨3:00执行完全备份脚本
0 3 * * 0 /bin/bash -x /root/bash/Mysql-FullyBak.sh >/dev/null 2>&1
# 周一到周六凌晨3:00做增量备份
0 3 * * 1-6 /bin/bash -x /root/bash/Mysql-DailyBak.sh >/dev/null 2>&1
显示中文了。^_^