diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst index 45c10408b0a..28df51de7ba 100644 --- a/Doc/using/cmdline.rst +++ b/Doc/using/cmdline.rst @@ -447,6 +447,10 @@ These environment variables influence Python's behavior. If this is set before running the interpreter, it overrides the encoding used for the filesystem encoding (see :func:`sys.getfilesystemencoding`). + This variable is not available (ignored) on Windows and Mac OS X: the + filesystem encoding is pinned to ``'mbcs'`` on Windows and ``'utf-8'`` on + Mac OS X. + .. versionadded:: 3.2 diff --git a/Doc/whatsnew/3.2.rst b/Doc/whatsnew/3.2.rst index 2ec93d2bb2e..bf65545cc92 100644 --- a/Doc/whatsnew/3.2.rst +++ b/Doc/whatsnew/3.2.rst @@ -242,7 +242,9 @@ Filenames and unicode The filesystem encoding can be specified by setting the :envvar:`PYTHONFSENCODING` environment variable before running the interpreter. -The value should be a string in the form ````, e.g. ``utf-8``. +The value is an encoding name, e.g. ``iso-8859-1``. This variable is not +available (ignored) on Windows and Mac OS X: the filesystem encoding is pinned +to ``'mbcs'`` on Windows and ``'utf-8'`` on Mac OS X. The :mod:`os` module has two new functions: :func:`os.fsencode` and :func:`os.fsdecode`. diff --git a/Modules/main.c b/Modules/main.c index a5c89059d36..dc8d84c1e8e 100644 --- a/Modules/main.c +++ b/Modules/main.c @@ -94,13 +94,15 @@ PYTHONSTARTUP: file executed on interactive startup (no default)\n\ PYTHONPATH : '%c'-separated list of directories prefixed to the\n\ default module search path. The result is sys.path.\n\ "; -static char *usage_5 = "\ -PYTHONHOME : alternate directory (or %c).\n\ - The default module search path uses %s.\n\ -PYTHONCASEOK : ignore case in 'import' statements (Windows).\n\ -PYTHONIOENCODING: Encoding[:errors] used for stdin/stdout/stderr.\n\ -PYTHONFSENCODING: Encoding used for the filesystem.\n\ -"; +static char *usage_5 = +"PYTHONHOME : alternate directory (or %c).\n" +" The default module search path uses %s.\n" +"PYTHONCASEOK : ignore case in 'import' statements (Windows).\n" +"PYTHONIOENCODING: Encoding[:errors] used for stdin/stdout/stderr.\n" +#if !(defined(MS_WINDOWS) && defined(HAVE_USABLE_WCHAR_T)) && !defined(__APPLE__) +"PYTHONFSENCODING: Encoding used for the filesystem.\n" +#endif +; FILE * _Py_wfopen(const wchar_t *path, const wchar_t *mode)