This stopped working on Windows, due to a reference to the non-existent
_locale.getdefaultlocale.  Guessing a leading underscore was intended,
but don't really understood this stuff (locale looks like Spanish for
the opposite of global to me <wink>).
diff --git a/Lib/locale.py b/Lib/locale.py
index 9ae981f..8a26744 100644
--- a/Lib/locale.py
+++ b/Lib/locale.py
@@ -397,7 +397,7 @@
     def getpreferredencoding(do_setlocale = True):
         """Return the charset that the user is likely using."""
         import _locale
-        return _locale.getdefaultlocale()[1]
+        return _locale._getdefaultlocale()[1]
 else:
     # On Unix, if CODESET is available, use that.
     try: