UnicodeEncodeError when piping stdout, but not when printing directly to the console
Peter Otten
__peter__ at web.de
Fri Jan 6 04:34:10 EST 2012
Adam Funk wrote:
> 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?
Not "magically", but UTF-8 has become the default encoding...
More information about the Python-list
mailing list