Marc-Andre Lemburg <m...@egenix.com> added the comment: Ok, it seems that the C setlocale() itself does not follow the conventions set forth for environment variables:
http://pubs.opengroup.org/onlinepubs/7908799/xsh/setlocale.html (see the example at the bottom) So the behavior shown by Python's setlocale() is fine. However, that still doesn't magically make this work: locale.setlocale(locale.LC_ALL, 'C.UTF-8') locale.setlocale(locale.LC_NUMERIC, 'fr_FR.ISO8859-1') If LC_NUMERIC uses a different encoding than LC_ALL, there's really no surprise in having numeric formatting fail. localeconv() will output the set encoding for the numeric string conversion and Python will decode this using the locale encoding set by LC_ALL. If those two are different, you run into problems. I would not consider this a bug in Python, but rather in the locale settings passed to setlocale(). ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue31900> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com