Message389065
| Author |
vstinner |
| Recipients |
lemburg, vstinner |
| Date |
2021年03月19日.10:31:12 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1616149872.12.0.48852102913.issue43552@roundup.psfhosted.org> |
| In-reply-to |
| Content |
> 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. |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2021年03月19日 10:31:12 | vstinner | set | recipients:
+ vstinner, lemburg |
| 2021年03月19日 10:31:12 | vstinner | set | messageid: <1616149872.12.0.48852102913.issue43552@roundup.psfhosted.org> |
| 2021年03月19日 10:31:12 | vstinner | link | issue43552 messages |
| 2021年03月19日 10:31:12 | vstinner | create |
|