前几个因为工作需要,要使用定时器定时启动脚本文件,以便于解决日志不正常打印问题,但是日志问题倒是解决了,却出现乱码了

今天百度了一下,结合自己的实际情况,首先,脚本里写命令echo $LANG  >> test.log,使用定时器每分钟启动一下脚本,发现每分钟输出一行空

但是关闭定时器,手动执行脚本,输出的为zh_CN.gb18030,所以原因找到了,就是定时器启动的时候和用户登录的时候启动的环境变量不一样,crontab

定时启动的时候就没有执行环境变量,属于unlogin登录模式的启动,

  划重点!解决办法,

  在执行执行脚本的命令行之上加入以下命令

  export LC_ALL=zh_CN.gb18030
  export LANG=zh_CN.gb18030

  再次定时执行脚本,发现已经可以有系统编码格式输入到了test.log中

  至于到底加zh_CN.GBK还是加zh_CN.gb18030或者加zh_CN.uft-8,根据自己的实际情况,

  用户登录以后,可以先查看一下自己编码格式,输入命令locale回车,可以查看当前用户登录的编码格式,

  然后再根据自己的实际情况进行修改。