我有一个输出非ASCII字符的python脚本。它可以从命令行正常运行(它具有LANG en_US.UTF-8),但是一旦我尝试在Jenkins中运行(从同一shell启动),它就会以ascii终端的典型方式失败:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe5' in position 37: ordinal not in range(128)
我尝试在“执行外壳”构建步骤中执行脚本调用,如下所示:
export LANG=en_US.UTF-8
但是,似乎忽略了这一点。将以下内容放入我的python脚本中:
print "Encoding = %s" % sys.getdefaultencoding()
不管我做什么,都给我这个:
Encoding = ascii
那么,有什么能让我强迫詹金斯使用UTF-8的东西吗?
没关系,找到了解决方法:
export PYTHONIOENCODING=UTF-8