Why "LANG=C"? (not D or E or F)
In the C programming language, the locale name C
“specifies the minimal environment for C translation” (C99 §7.11.1.1; the principle has been the same since at least the 1980s). As most operating systems are written in C, especially the Unix-inspired ones where locales are set through the LANG
and LC_xxx
environment variables, C
ends up being the name of a “safe” locale everywhere.
POSIX specifies that both C
and POSIX
must be valid locale names, with the same neutral settings.