STINNER Victor <[email protected]> added the comment:
One of sys._enablelegacywindowsfsencoding() issue is that os.fsdecode() and
os.fsencode() are not updated, they continue to use UTF-8. Example on Windows:
>>> import sys, os
>>> sys.getfilesystemencoding()
'utf-8'
>>> os.fsencode('\xe9')
b'\xc3\xa9'
>>> sys._enablelegacywindowsfsencoding()
>>> sys.getfilesystemencoding()
'mbcs'
>>> os.fsencode('\xe9')
b'\xc3\xa9'
See bpo-29241 for larger issues caused by this function.
--
The first reason is deprecate this function is that it sounds dangerous to me
and it doesn't seem to be used.
I only found one project which used it temporarily until they fixed their code
to encode/decode filenames on Windows. It was used to workaround a in bug in
their code.
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue37413>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com