测试人社区

jenkins构建时候报错UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-6: ordinal not in range(128)

jenkins部署在Linux服务器tomcat下面,
节点执行机用的mac,
现在通过jenkins构建,把git上面的代码拉取下来在执行机mac上面运行用例跑不通,所有含有中文的用例,都会报UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-6: ordinal not in range(128)这个错误,


而且控制台输出的日志信息显示乱码

但是我直接在执行机mac上面,jenkins拉代码的workspace目录下,通过终端运行,是不会有任何报错的
不知道大家有没有遇到相同的问题,求解

你使用的python2编译器吗?如果是的话,需要加上

import sys
reload(sys)
sys.setdefaultencoding('utf8')

如果你用python3理论上应该不会有编码问题的

节点管理-配置从节点-启动方式-高级,设置下jvm的编码

-Duser.timezone=Asia/Shanghai -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8

谢谢助教老师,乱码的问题解决了,
在shell脚本开始的时候加上命令:export LANG=“en_US.UTF-8”,
原因是:执行定时任务时没有去获取系统的环境变量,导致了中文乱码。