Centos 中文乱码解决方法

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

显示中文了。^_^

猜你喜欢

转载自www.cnblogs.com/lhat/p/10144297.html