我在使用Python時遇到了有關Unicode的問題。我可以打印輸出精美的常規終端,但如果我重定向stdout
其他地方(或與subprocess
模塊捕獲它),我得到了UnicodeEncodeError
:重定向標準輸出時出現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)
這是爲什麼?我該如何解決它?
http://stackoverflow.com/questions/492483/setting-the-correct-encoding-when-piping-stdout-in-python本質上是同一個問題,答案解決了我(有希望)的問題。 – dbr 2010-02-09 01:17:08