• Victor Stinner's avatar
    bpo-36443: Disable C locale coercion and UTF-8 Mode by default (GH-12589) · d929f183
    Victor Stinner yazdı
    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.
    d929f183
Adı
Son kayıt (commit)
Son güncelleme
..
clinic Loading commit data...
Python-ast.c Loading commit data...
README Loading commit data...
_warnings.c Loading commit data...
asdl.c Loading commit data...
ast.c Loading commit data...
ast_opt.c Loading commit data...
ast_unparse.c Loading commit data...
bltinmodule.c Loading commit data...
bootstrap_hash.c Loading commit data...
ceval.c Loading commit data...
ceval_gil.h Loading commit data...
codecs.c Loading commit data...
compile.c Loading commit data...
condvar.h Loading commit data...
context.c Loading commit data...
coreconfig.c Loading commit data...
dtoa.c Loading commit data...
dup2.c Loading commit data...
dynamic_annotations.c Loading commit data...
dynload_aix.c Loading commit data...
dynload_dl.c Loading commit data...
dynload_hpux.c Loading commit data...
dynload_shlib.c Loading commit data...
dynload_stub.c Loading commit data...
dynload_win.c Loading commit data...
errors.c Loading commit data...
fileutils.c Loading commit data...
formatter_unicode.c Loading commit data...
frozen.c Loading commit data...
frozenmain.c Loading commit data...
future.c Loading commit data...
getargs.c Loading commit data...
getcompiler.c Loading commit data...
getcopyright.c Loading commit data...
getopt.c Loading commit data...
getplatform.c Loading commit data...
getversion.c Loading commit data...
graminit.c Loading commit data...
hamt.c Loading commit data...
import.c Loading commit data...
importdl.c Loading commit data...
importdl.h Loading commit data...
importlib.h Loading commit data...
importlib_external.h Loading commit data...
importlib_zipimport.h Loading commit data...
makeopcodetargets.py Loading commit data...
marshal.c Loading commit data...
modsupport.c Loading commit data...
mysnprintf.c Loading commit data...
mystrtoul.c Loading commit data...
opcode_targets.h Loading commit data...
pathconfig.c Loading commit data...
peephole.c Loading commit data...
preconfig.c Loading commit data...
pyarena.c Loading commit data...
pyctype.c Loading commit data...
pyfpe.c Loading commit data...
pyhash.c Loading commit data...
pylifecycle.c Loading commit data...
pymath.c Loading commit data...
pystate.c Loading commit data...
pystrcmp.c Loading commit data...
pystrhex.c Loading commit data...
pystrtod.c Loading commit data...
pythonrun.c Loading commit data...
pytime.c Loading commit data...
strdup.c Loading commit data...
structmember.c Loading commit data...
symtable.c Loading commit data...
sysmodule.c Loading commit data...
thread.c Loading commit data...
thread_nt.h Loading commit data...
thread_pthread.h Loading commit data...
traceback.c Loading commit data...
wordcode_helpers.h Loading commit data...