UnicodeEncodeError when piping stdout, but not when printing directly to the console
__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