X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a3c9f0642c4d89beb92720056f8c20bdacde979d..d0ee33f5c6908b4ac5e1364381f0ef00942e3936:/wxPython/src/_core_ex.py diff --git a/wxPython/src/_core_ex.py b/wxPython/src/_core_ex.py index 004dc12019..5ad0d81365 100644 --- a/wxPython/src/_core_ex.py +++ b/wxPython/src/_core_ex.py @@ -32,6 +32,35 @@ if RELEASE_VERSION != _core_.RELEASE_VERSION: #---------------------------------------------------------------------------- +# Set wxPython's default string<-->unicode conversion encoding from +# the locale, but only if Python's default hasn't been changed. (We +# assume that if the user has customized it already then that is the +# encoding we need to use as well.) +# +# The encoding selected here 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, TypeError): + default = _sys.getdefaultencoding() + del locale + del codecs +if default: + wx.SetDefaultPyEncoding(default) +del default + +#---------------------------------------------------------------------------- + class PyDeadObjectError(AttributeError): pass