Default to ASCII as the locale.getpreferredencoding, if the POSIX
system doesn't support CODESET and LANG isn't set or doesn't
allow deduction of an encoding.
diff --git a/Lib/locale.py b/Lib/locale.py
index ce0ca81..448b018 100644
--- a/Lib/locale.py
+++ b/Lib/locale.py
@@ -505,7 +505,11 @@
def getpreferredencoding(do_setlocale = True):
"""Return the charset that the user is likely using,
by looking at environment variables."""
- return getdefaultlocale()[1]
+ res = getdefaultlocale()[1]
+ if res is None:
+ # LANG not set, default conservatively to ASCII
+ res = 'ascii'
+ return res
else:
def getpreferredencoding(do_setlocale = True):
"""Return the charset that the user is likely using,