UnicodeEncodeError when piping stdout, but not when printing directly to the console

Adam Funk a24061 at ducksburg.com
Fri Jan 6 04:12:22 EST 2012


On 2012-01-04, Peter Otten wrote:

> Adam Funk wrote:

>> How can I force python (preferably within my python program, rather
>> than having to set something externally) to treat stdout as UTF-8?
>
>
> $ cat force_utf8.py
> # -*- coding: utf-8 -*-
> import sys
>
> if sys.stdout.encoding is None:
>     import codecs
>     writer = codecs.getwriter("utf-8")
>     sys.stdout = writer(sys.stdout)
>
> print u"Ähnlich üblich nötig"

That's great, thanks!

I guess issues like this will magically go away when I eventually move
to Python 3?


-- 
Physics is like sex.  Sure, it may give some practical results,
but that's not why we do it.                  [Richard Feynman]



More information about the Python-list mailing list