Wrap getpreferredencoding()'s use of setlocale in a try/except to prevent
us from raising an exception when the locale is invalid.

Issue #1443504
diff --git a/Lib/locale.py b/Lib/locale.py
index 777bb03..f44effe 100644
--- a/Lib/locale.py
+++ b/Lib/locale.py
@@ -553,7 +553,10 @@
             according to the system configuration."""
             if do_setlocale:
                 oldloc = setlocale(LC_CTYPE)
-                setlocale(LC_CTYPE, "")
+                try:
+                    setlocale(LC_CTYPE, "")
+                except:
+                    pass
                 result = nl_langinfo(CODESET)
                 setlocale(LC_CTYPE, oldloc)
                 return result