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
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 ``<encoding>``, 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`.
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 <prefix> directory (or <prefix>%c<exec_prefix>).\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 <prefix> directory (or <prefix>%c<exec_prefix>).\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)