--- On Wed, 10/11/10, Ken Thomases <k...@codeweavers.com> wrote: > I should have been clearer. The output just reflects > your environment. So, you have LANG set to > en_GB.utf8. I had LANG set to en_US.UTF-8. My > only point was to say that the "UTF-8" form is > acceptable. It was not to suggest that "utf8" is not, > nor that one or the other is a standard. > > The real question is: does the Linux C library accept > 'UTF-8' in the environment variables? I believe it > does, which is useful because that's what Mac OS X > requires. (It doesn't accept "utf8".) > > For example, the following reports just fine on some Linux > systems here: > > LC_ALL=en_GB.UTF-8 locale > > As does your case: > > LC_ALL=en_GB.utf8 locale > > But the following both produce some diagnostics indicating > that the C library is choking on the value: > > LC_ALL=en_GB.bogus locale > LC_ALL=en_GB.UTF-9 locale > > I take this to mean it's a legitimate test of whether a > value is valid. Further, it indicates that (at least > some) Linuxes take either form.
On my system (fedora 14 x86_64), the valid locales are stored in: /usr/share/X11/locale/ and part of libX11-common together with /usr/share/X11/locale/locale.alias which defines aliases (like the lowercase/uppercase with without "-" above). I had an impression that these things used to be glibc-common or glibc-locale, but it seems that they have moved.