UnicodeEncodeError при перенаправлении stdout [duplicate]

На этот вопрос уже есть ответ здесь:

Установка правильной кодировки при передаче стандартного вывода в Python 10 ответов

У меня проблема с Unicode в Python. Я могу распечатать вывод нормально в обычном терминале, но если я перенаправить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)

Почему это? Как я могу это исправить?

Ответы на вопрос(1)

Ваш ответ на вопрос