[Python-Dev] sys.stdout.write encoding failure
Alexander Belopolsky
alexander.belopolsky at gmail.com
Mon Dec 15 04:12:41 CET 2008
There is currently a unit test in the trunk that fails in verbose mode:
$ ./python.exe Lib/test/test_doctest.py -v
...
UnicodeEncodeError: 'ascii' codec can't encode characters in position
338-339: ordinal not in range(128)
Apparently, the problem is that stdout cannot encode non-ascii characters:
>>> sys.stdout.write(u'f\xf6\xf6')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position
1-2: ordinal not in range(128)
which is strange because
>>> sys.stdout.encoding
'UTF-8'
and print has no problem with the same string:
>>> print u'f\xf6\xf6'
föö
Where does 'ascii' codec come from?
More information about the Python-Dev
mailing list