Nick Coghlan added the comment:

I think we're genuinely getting to the point now where the majority of "LANG=C" 
cases are misconfigurations rather than intended behaviour. We're also to the 
point where:

- on Mac OS X, binary system interfaces have been handled as UTF-8 by default 
since 3.0
- on Windows, as of 3.6, the OS native binary system interfaces are now 
bypassed entirely in favour of transcoding from UTF-8 to UTF-16-LE 

So I think for Python 3.7 it makes sense to do the following on other *nix 
systems:

- very early in CPython startup (even before argument processing), if the 
detected locale is "C", force it to "C.UTF-8" if possible, and print a warning 
either way
- add a PYTHONKEEPASCIILOCALE environment variable to turn that behaviour off

I do think we actually want to *change* the C level locale in the process 
though, as otherwise we can expect to see weird interactions where CPython and 
extension modules disagree about the default text encoding.

----------
nosy: +ncoghlan

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue28180>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to