[Python-Dev] Proposal: new environment variable PYTHONSTDOUTENCODING
M.-A. Lemburg
mal at egenix.com
Tue May 20 10:41:43 CEST 2008
On 2008-05-20 10:22, Martin v. Löwis wrote:
> I'd like to propose a new environment variable PYTHONSTDOUTENCODING.
> This is meant to solve various problems that people had with Python
> not detecting their terminal encoding correctly; it would override
> any detection that Python would use for determining the encoding of
> stdout (and stdin - but that's less relevant in 2.x).
How is this relevant for 2.x ?
In 2.x, stdin and stdout are just files without any io wrappers
around them.
Writing Unicode to stdout will still use the default encoding
ASCII to convert it to an 8-bit string. All other 8-bit strings
will be passed to stdout as-is.
For 3.x, I'd like to see a PYTHONSTDINENCODING, because the current
way of relying on the terminal encoding does work well... it then
falls back to ASCII, which prevents entering e.g. German Umlauts.
> In particular, setting this environment variable would also disable
> the detection of whether stdout is a terminal. This is desirable
> for cases as the pydev eclipse plugin, where Python currently
> fails to detect that the output is a terminal (and technically,
> what Eclipse provides is not a terminal, but just a pipe, as you
> can't do pseudoterms in Java).
>
> This would have the additional effect that the encoding also gets
> in effect when redirecting stdout to a file. Whether or not this
> is a good thing might be debatable; giving the user the control over
> it (to set or clear that variable) is a good thing, IMO.
>
> Naming contest: it probably would be the longest of the PYTHON*
> variables. I would not want to call it PYTHONENCODING, or
> PYTHONSTDENCODING, though, because people might infer that it
> affects sys.getdefaultencoding(), which it shouldn't.
--
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