+try:
+ import locale
+ use_locale = True
+except ImportError:
+ use_locale = False
+
+if use_locale:
+ # Get the default charset.
+ try:
+ if sys.version_info[:2] < (3, 11):
+ lcAll = locale.getdefaultlocale()
+ else:
+ lcAll = []
+ except locale.Error as err:
+ #print("WARNING:", err, file=sys.stderr)
+ lcAll = []
+
+ if len(lcAll) == 2:
+ default_encoding = lcAll[1]
+ else:
+ try:
+ default_encoding = locale.getpreferredencoding()
+ except locale.Error as err:
+ #print("WARNING:", err, file=sys.stderr)
+ default_encoding = sys.getdefaultencoding()
+else:
+ default_encoding = sys.getdefaultencoding()
+