mirror of
https://github.com/python/cpython.git
synced 2026-04-07 20:30:51 +00:00
bpo-36443, bpo-36202: Since Python 3.7.0, calling Py_DecodeLocale() before Py_Initialize() produces mojibake if the LC_CTYPE locale is coerced and/or if the UTF-8 Mode is enabled by the user configuration. This change fix the issue by disabling LC_CTYPE coercion and UTF-8 Mode by default. They must now be enabled explicitly (opt-in) using the new _Py_PreInitialize() API with _PyPreConfig. When embedding Python, set coerce_c_locale and utf8_mode attributes of _PyPreConfig to -1 to enable automatically these parameters depending on the LC_CTYPE locale, environment variables and command line arguments Alternative: Setting Py_UTF8Mode to 1 always explicitly enables the UTF-8 Mode. Changes: * _PyPreConfig_INIT now sets coerce_c_locale and utf8_mode to 0 by default. * _Py_InitializeFromArgs() and _Py_InitializeFromWideArgs() can now be called with config=NULL. |
||
|---|---|---|
| .. | ||
| abstract.h | ||
| coreconfig.h | ||
| dictobject.h | ||
| interpreteridobject.h | ||
| object.h | ||
| objimpl.h | ||
| pyerrors.h | ||
| pylifecycle.h | ||
| pystate.h | ||
| tupleobject.h | ||
| unicodeobject.h | ||