Ubuntu Server generate locals

I was having a problem with one of our ubuntu servers and it’s locals. I was seeing the following error after typing local:

root@wiki:~# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=de_DE.UTF-8
LC_CTYPE="de_DE"
LC_NUMERIC="de_DE"
LC_TIME="de_DE"
LC_COLLATE="de_DE"
LC_MONETARY="de_DE"
LC_MESSAGES="de_DE"
LC_PAPER="de_DE"
LC_NAME="de_DE"
LC_ADDRESS="de_DE"
LC_TELEPHONE="de_DE"
LC_MEASUREMENT="de_DE"
LC_IDENTIFICATION="de_DE"
LC_ALL=de_DE

So i deceided to set my locals in my .bashrc for root. Like this:

export LANG=de_DE.UTF-8
export LC_ALL=de_DE.UTF-8

I was still getting error messages because the locals where not generated on the server. To generate German locals with UTF-8 issue the following command:

localedef -v -c -i de_DE -f UTF-8 de_DE.UTF-8

Thats it the command local -a should now display something like this:

root@wiki:~# locale -a
C
de_DE.utf8
en_US.utf8
POSIX

The command local should display:

root@wiki:~# locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=de_DE.UTF-8

To do this for US locals use this command:

localedef -v -c -i en_US -f UTF-8 en_US.UTF-8 and also change the export command above

Leave a Reply

Your email address will not be published. Required fields are marked *