我正在尝试将gerrit uid编码为utf-8并遇到以下错误,它大多数时候都可以工作,但是对于某些uid却随机地遇到了下面的错误,我在stackoverflow上查看了类似的帖子,建议使用ry ISO-8859-1,但是utf-8最适合我的时间,该如何解决?
uid = Ia7324f6443b3db5d55113a221dc0791bb5a38799
uID = gerritInfo['id'].encode("utf-8")
错误堆栈:
result=main()
File "/prj/team/location/script", line 1363, in main
(picked_gerrit,uID,email_state) = cherrypick_gerrit(buildDir,manifest,gerrit,patch,False,errorLog,picklogfd)
File "/prj/team/location/script", line 356, in cherrypick_gerrit
if uID in repo.git.log():
File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 450, in <lambda>
return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 902, in _call_process
return self.execute(make_call(), **_kwargs)
File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 698, in execute
stdout_value = stdout_value.decode(defenc)
File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xf6 in position 178175077: invalid start byte
基于https://github.com/gitpython-developers/GitPython/issues/237,您可以尝试以下操作,使用stdout_as_string = False
if uID in repo.git.log(stdout_as_string=False)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句