From 071ef771dc61b3b354a16d15ad8c6bbab130f96f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Sat, 8 Mar 2008 11:24:24 +0000 Subject: [PATCH] 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. --- Lib/locale.py | 6 +++++- Misc/NEWS | 7 +++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Lib/locale.py b/Lib/locale.py index ce0ca817eb1..448b018a618 100644 --- a/Lib/locale.py +++ b/Lib/locale.py @@ -505,7 +505,11 @@ def getpreferredencoding(do_setlocale = True): 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, diff --git a/Misc/NEWS b/Misc/NEWS index 79bdef69a0b..84b3d3a97ed 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -14,6 +14,13 @@ Extension Modules - Use wchar_t functions in _locale module. +Library +------- + +- 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. + What's New in Python 3.0a3? ===========================