关于Python中Unicode的问题。我可以在常规终端中很好地打印输出,但是如果我将stdout
重定向到别处(或者用subprocess
模块捕获它),我会得到一个UnicodeEncodeError
:
$ cat example.py
print u'Example: \u00F1'
$ python example.py
Example: ñ
$ python example.py > /dev/null
Traceback (most recent call last):
File "example.py", line 1, in <module>
print u'Example: \u00F1'
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in position 9: ordinal not in range(128)
为什么会这样?我怎样才能修好它?在
不通向终端的管道没有编码,因此需要检查^{} 并根据需要进行编码。在
相关问题 更多 >
编程相关推荐