STINNER Victor <[email protected]> added the comment:
> Now, the correct way in all this would be to just call setlocale(LC_ALL, '')
> at the start of the application
Python now does that during its initialization on all platforms. So
getpreferredencoding(False) is what its documentation says: the user preferred
encoding, the LC_CTYPE locale encoding.
On Python 3.7, _Py_SetLocaleFromEnv(LC_CTYPE) was called in
_Py_InitializeCore() on Unix, but not on Windows.
Since Python 3.8, _PyPreConfig_Write() calls _Py_SetLocaleFromEnv(LC_CTYPE) on
all platforms including Windows. See bpo-34485 and my article for more details
("C locale on Windows" section):
https://vstinner.github.io/python3-locales-encodings.html
_Py_SetLocaleFromEnv(LC_CTYPE) calls setlocale(LC_CTYPE, ""), but has more
complex code on Android.
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue43552>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com