Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果我的默认python编码器和系统是UTF-8,我如何得到这个错误;ascii';编解码器可以';t编码字符'\u0447';_Python_Jenkins_Unicode - Fatal编程技术网

如果我的默认python编码器和系统是UTF-8,我如何得到这个错误;ascii';编解码器可以';t编码字符'\u0447';

如果我的默认python编码器和系统是UTF-8,我如何得到这个错误;ascii';编解码器可以';t编码字符'\u0447';,python,jenkins,unicode,Python,Jenkins,Unicode,从jenkins- 正如我已经更改了python的默认编码一样,它从哪里接受编码器-ascii,jenkins主进程和从进程以及系统 甚至在脚本开始时添加了#编码:utf-8,但没有起作用 这不仅仅是在控制台中打印字符串,我的代码尝试访问一些文件,并且文件路径包含一些俄语字符,所以一切都失败了 当我从linux控制台手动运行相同的脚本时,一切都正常 你知道这里的解决方案是什么吗?与人们普遍认为的相反,Python 3中内置的open()函数以及sys.std*流(print()使用sys.std

jenkins
-

正如我已经更改了python的默认编码一样,它从哪里接受编码器-ascii,
jenkins
主进程和从进程以及系统

甚至在脚本开始时添加了
#编码:utf-8
,但没有起作用

这不仅仅是在控制台中打印字符串,我的代码尝试访问一些文件,并且文件路径包含一些俄语字符,所以一切都失败了

当我从linux控制台手动运行相同的脚本时,一切都正常


你知道这里的解决方案是什么吗?

与人们普遍认为的相反,Python 3中内置的
open()
函数以及
sys.std*
流(
print()
使用
sys.stdout
)的默认编码并不总是UTF-8。它可能在一台机器上,但不是在另一台机器上,因为它依赖于平台

从系统stdin/stdout/stderr的

这些流是常规文本文件,类似于open()函数返回的文本文件。其参数选择如下:

  • 字符编码依赖于平台。非Windows平台使用区域设置编码[…]
后来:

在所有平台下,您都可以通过在启动Python[…]之前设置PythonionEncoding环境变量来覆盖字符编码

请注意,Windows有一些例外情况


对于使用
open
打开的文件,您可以通过显式设置
encoding=
参数轻松获得控制权。

这是什么版本的Python,以及
msg
来自哪里?
File "/export/app-33-1/jenkins/w/ee4a092a/install/src/linux-amd64-gcc_4_4-release/bin/eat2/eat.py", line 553, in _runtest
print('ERROR:' + msg)
UnicodeEncodeError: 'ascii' codec can't encode character '\u0447' in position 315: 
ordinal not in range(128)