]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_core_ex.py
format the list of installed packages better
[wxWidgets.git] / wxPython / src / _core_ex.py
index 702e04f6eea88ab0dcbfd77fc00bc06efff0a3c0..45f7eeab6d73aaa96060c9547802951af4a717ee 100644 (file)
@@ -32,13 +32,28 @@ if RELEASE_VERSION != _core_.RELEASE_VERSION:
 
 #----------------------------------------------------------------------------
 
-# Set the default string conversion encoding from the locale
-import locale
-default = locale.getdefaultlocale()[1]
+# Set the default string<-->unicode conversion encoding from the
+# locale.  This encoding is used when string or unicode objects need
+# to be converted in order to pass them to wxWidgets.  Please be aware
+# that the default encoding within the same locale may be slightly
+# different on different platforms.  For example, please see
+# http://www.alanwood.net/demos/charsetdiffs.html for differences
+# between the common latin/roman encodings.
+
+default = _sys.getdefaultencoding()
+if default == 'ascii':
+    import locale
+    import codecs
+    try:
+        default = locale.getdefaultlocale()[1]
+        codecs.lookup(default)
+    except (ValueError, LookupError):
+        default = _sys.getdefaultencoding()
+    del locale
+    del codecs
 if default:
     wx.SetDefaultPyEncoding(default)
 del default
-del locale
 
 #----------------------------------------------------------------------------