diff options
author | Berker Peksag <berker.peksag@gmail.com> | 2017-02-04 09:19:04 +0300 |
---|---|---|
committer | Berker Peksag <berker.peksag@gmail.com> | 2017-02-04 09:19:04 +0300 |
commit | b53991455f7f258ede7a26b69c2be5b8138b9f8a (patch) | |
tree | 3615cf0ef453ab113a547b1dfebacf415ed32602 /Lib/_bootlocale.py | |
parent | 678487eb345f9f9dea3d3818ecad7d39145bdc65 (diff) | |
parent | 9bfb9694a65124a8191cdb8ce7992445d1d0f4d2 (diff) | |
download | cpython-b53991455f7f258ede7a26b69c2be5b8138b9f8a.tar.gz |
Issue #29198: Merge from 3.6
Diffstat (limited to 'Lib/_bootlocale.py')
-rw-r--r-- | Lib/_bootlocale.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/Lib/_bootlocale.py b/Lib/_bootlocale.py index 4bccac1139..0c61b0d3a0 100644 --- a/Lib/_bootlocale.py +++ b/Lib/_bootlocale.py @@ -14,11 +14,17 @@ else: try: _locale.CODESET except AttributeError: - def getpreferredencoding(do_setlocale=True): - # This path for legacy systems needs the more complex - # getdefaultlocale() function, import the full locale module. - import locale - return locale.getpreferredencoding(do_setlocale) + if hasattr(sys, 'getandroidapilevel'): + # On Android langinfo.h and CODESET are missing, and UTF-8 is + # always used in mbstowcs() and wcstombs(). + def getpreferredencoding(do_setlocale=True): + return 'UTF-8' + else: + def getpreferredencoding(do_setlocale=True): + # This path for legacy systems needs the more complex + # getdefaultlocale() function, import the full locale module. + import locale + return locale.getpreferredencoding(do_setlocale) else: def getpreferredencoding(do_setlocale=True): assert not do_setlocale |