X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4293f8478760e6e89740bac9eeb426fd0b881896..c437fde9f90fc7dfcac79053d214fc9146d7be21:/wxPython/src/_core_ex.py diff --git a/wxPython/src/_core_ex.py b/wxPython/src/_core_ex.py index 702e04f6ee..45f7eeab6d 100644 --- a/wxPython/src/_core_ex.py +++ b/wxPython/src/_core_ex.py @@ -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 #----------------------------------------------------------------------------