One problem that has repeatedly cropped up when developing in Java is
strange error messages in our unit tests for certain text manipulation
tests when running on a freshly installed Ubuntu desktop.
They
are all related to Ubuntu's default British locale:
en_GB.UTF-8
This
was causing files checked out of CVS to be in
Unicode (
UTF-8) format
rather than ISO-8859-1 and so the British pound sign (£) was being
encoded as a double-byte (rather than single-byte) character in the
file.
To check which locale you currently have as your default
just run:
locale
Changing the default locale is a
little different on Ubuntu compared to most Linux distros, these are the
steps we needed to go through to get it changed:
Add the
locale to the list of 'supported locales'
Edit
/var/lib/locales/supported.d/local
and add the following line:
en_GB ISO-8859-1
Regenerate
the supported locales
Run
sudo dpkg-reconfigure locales
Change
the default locale
Edit
/etc/environment
and ensure
the
LANG
and
LANGUAGE
lines read as follows:
LANG="en_GB"
LANGUAGE="en_GB:en"
UPDATE
'09: An old collegue has suggested that this change should now be made
in /etc/default/locale
rather than /etc/environment
- Thanks Guy!
Reboot!
Rerun
locale
to check that your default locale is now
en_GB