Ubuntu – changing the current set locale on a Linux(Ubuntu)

localeubuntu-10.04

I have a Ubuntu system on which current locale is(output of locale command):

LANG=en_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=

I want to change it to en_GB, because some characters are not handled properly on the terminal display.

What is the command to change the locale?

What is the command to see what different locales are available on current system for me to set/try?

Best Answer

The used locale is set via environment variables for the process (like the shell running in your terminal).

Most of the time it is sufficient to just change LANG, assuming you use bash

$ export LANG=en_GB

Put this into your ~/.profile file to make it work for all (even non-terminal) processes.

You can have a look at /usr/share/locale/ for some list of locales.

Related Question