Eryk Sun <eryk...@gmail.com> added the comment:

The rare circumstance in which UTF-8 mode gets enabled automatically is 
described in the following paragraph [1]:

    If the PYTHONUTF8 environment variable is not set at all, then the
    interpreter defaults to using the current locale settings, unless the
    current locale is identified as a legacy ASCII-based locale (as
    described for PYTHONCOERCECLOCALE), and locale coercion is either 
    disabled or fails. In such legacy locales, the interpreter will
    default to enabling UTF-8 mode unless explicitly instructed not to do
    so.

Note that UTF-8 mode is never enabled automatically in Windows. In contrast to 
POSIX, the locale encoding in Windows is unrelated to the current LC_CTYPE 
locale. Instead, the locale encoding gets set to the process code page, which 
is based on the system locale by default and never changes while a process is 
running. The system locale may be incompatible with the current LC_CTYPE 
locale, Windows user locale, and preferred UI language (e.g. for text resources 
such as error messages), so try to explicitly use UTF-8 for text files whenever 
possible.

---
[1] https://docs.python.org/3/library/os.html#utf8-mode

----------
nosy: +eryksun

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

Reply via email to