[Python-Dev] Proposal: new environment variable PYTHONSTDOUTENCODING
M.-A. Lemburg
mal at egenix.com
Tue May 20 20:56:26 CEST 2008
On 2008-05-20 20:23, Martin v. Löwis wrote:
>> Writing Unicode to stdout will still use the default encoding
>> ASCII to convert it to an 8-bit string.
>
> That's not true.
Are you sure ?
> setenv LC_ALL de_DE.utf8
> python2.5
Python 2.5 (r25:51908, May 9 2007, 00:53:06)
>>> u = u'äöü'
>>> sys.stdout.write(u)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
>>> print u
äöü
>>>
Only "print" will set the Py_PRINT_RAW flag to trigger the conversion from
Unicode to 8-bit strings using .encoding in PyFile_WriteObject().
If not set, the default encoding is used.
I'm not exactly sure why, since using .encoding would be useful
in all cases.
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, May 20 2008)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
:::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
More information about the Python-Dev
mailing list