New submission from STINNER Victor <victor.stin...@haypocalc.com>: The file system is hardcoded to UTF-8 on Mac OS X, whereas the locale encoding... depends on the locale. See issue #4388 for the details.
I think that we should use the locale encoding to encode and decode command line arguments. We have to create a new encoding variable used for the command line arguments: * Py_CommandLineEncoding * sys.getcmdlineencoding() * (no sys.setcmdlineencoding() please!) * ... This encoding only should be used on POSIX: Windows native type is unicode (wchar_t*). It should be used to decode sys.argv and to encode child processes arguments (subprocess, os.exec*(), etc.)). On Linux, it should change anything because the file system encoding is the locale encoding. Said differently, Python3 does already use the locale encoding for the command arguments on Linux. If you pass a filename on the command line and then open it: the filename is decoded with the locale encoding, and then encoded with the file system encoding. I fear that it will fail if both encodings are differents... ---------- messages: 106139 nosy: haypo priority: normal severity: normal status: open title: Use locale encoding to decode sys.argv, not the file system encoding versions: Python 3.2 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue8775> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com