UnicodeEncodeError al redirigir stdout [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Establecer la codificación correcta al canalizar stdout en Python 10 respuestas

Tengo un problema con respecto a Unicode en Python. Puedo imprimir bien la salida en un terminal normal, pero si redirijostdout en otro lugar (o capturarlo con elsubprocess módulo), obtengo unUnicodeEncodeError:

$ 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)

¿Por qué es esto? ¿Cómo puedo arreglarlo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta