import _locale import _testinternalcapi import locale import os import sys if len(sys.argv) > 1: loc = sys.argv[1] print("Set LC_CTYPE to %r" % loc) locale.setlocale(locale.LC_CTYPE, loc) print() preconfig = _testinternalcapi.get_configs()['pre_config'] print("LC_ALL env var: %r" % os.getenv("LC_ALL", "")) print("LC_CTYPE env var: %r" % os.getenv("LC_CTYPE", "")) print("LANG env var: %r" % os.getenv("LANG", "")) print("LC_CTYPE locale: %r" % locale.setlocale(locale.LC_CTYPE, None)) print("Coerce C locale:", preconfig['coerce_c_locale']) print("Python UTF-8 Mode:", sys.flags.utf8_mode) print() print("(1) Python FS encoding") print("sys.getfilesystemencoding(): %r" % sys.getfilesystemencoding()) print() print("(2) Python locale encoding") print("_locale._get_locale_encoding(): %r" % _locale._get_locale_encoding()) print("locale.getpreferredencoding(False): %r" % locale.getpreferredencoding(False)) print() print("(3) Current locale encoding") print("locale.get_current_locale_encoding(): %r" % locale.get_current_locale_encoding()) print() print("(4) And more encodings for more fun!") print("locale.getdefaultlocale()[1]: %r" % locale.getdefaultlocale()[1]) print("locale.getpreferredencoding(True): %r" % locale.getpreferredencoding(True))