Message 119255 - Python tracker
Since r85765 (issue #4388), always use UTF-8 to decode the command line arguments on Mac OS X, not the locale encoding. Which means that the pseudo-code becomes: if os.name != 'nt': if sys.platform == 'darwin': encoding = 'utf-8' else: encoding = locale.getpreferredencoding() sys.argvb = [arg.decode(encoding, 'surrogateescape') for arg in sys.argv] sys.argvb should be synchronized with sys.argv, as os.environb with os.environ.