This seems like a weird problem, and it's causing my some heartburn, because i'm using a library that stashes the current locale, and tries to set it back to what it stashed.
$ docker run --rm -it python:3.6 bash root@bcee8785c2e1:/# locale LANG=C.UTF-8 LANGUAGE= LC_CTYPE="C.UTF-8" LC_NUMERIC="C.UTF-8" LC_TIME="C.UTF-8" LC_COLLATE="C.UTF-8" LC_MONETARY="C.UTF-8" LC_MESSAGES="C.UTF-8" LC_PAPER="C.UTF-8" LC_NAME="C.UTF-8" LC_ADDRESS="C.UTF-8" LC_TELEPHONE="C.UTF-8" LC_MEASUREMENT="C.UTF-8" LC_IDENTIFICATION="C.UTF-8" LC_ALL= root@bcee8785c2e1:/# locale -a C C.UTF-8 POSIX root@bcee8785c2e1:/# python Python 3.6.9 (default, Jul 13 2019, 14:51:44) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import locale >>> curr = locale.getlocale() >>> curr ('en_US', 'UTF-8') >>> locale.setlocale(locale.LC_ALL, curr) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.6/locale.py", line 598, in setlocale return _setlocale(category, locale) locale.Error: unsupported locale setting >>> I'm not sure why getlocale is returning en_US? It's not anywhere in my environment vars (and I'm not sure where else it could be in my shell?).
In any case, I can't setlocale with the value from getlocale, which seems weird to me.
Does anyone have any guidance here?
Much appreciated!