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"<br />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

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注