Ubuntu – What does C in LC_ALL=C mean


I know very well that to override locale settings we can use LC_ALL prepended to the command one wants to run. I also know C uses default locale of a system. But what does C stand for ?

Best Answer

The only solid hint I could was from some Slackware documentation written by the great Patrick Volkerding. In the file /etc/profile.d/lang.sh he has made the following comment:

# 'C' is the old Slackware (and UNIX) default, which is 127-bit ASCII
# with a charmap setting of ANSI_X3.4-1968.  These days, it's better to
# use en_US.UTF-8 or another modern $LANG setting (or at least en_US)
# to support extended character sets.
#export LANG=C

Without giving away what the 'C' actually stands for, but I would guess that 'C' is an alias for this very lowest and safest level of locale.... Not very satisfactory I know :(.

To see this comment for yourself in the Slackware package try the following:

wget http://slackware.osuosl.org/slackware-14.2/source/a/etc/_etc.tar.gz
tar -zxvf _etc.tar.gz etc/profile.d/lang.sh.new --strip-components 2

And then open the file lang.sh.new with your favoured text editor...