#----------------------------------------------------------------------------
-# Set the default string conversion encoding from the locale
+# 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.
import locale
-default = locale.getdefaultlocale()[1]
+import codecs
+try:
+ default = locale.getdefaultlocale()[1]
+ codecs.lookup(default)
+except (ValueError, LookupError):
+ default = _sys.getdefaultencoding()
if default:
wx.SetDefaultPyEncoding(default)
del default
del locale
+del codecs
#----------------------------------------------------------------------------