Locales: en_GB.iso8859-1 has LC_COLLATE=UTF-8



Hello all, still having problems with locales.

Currently, I get the following;

ianr@desktop glibc $ locale
LANG=en_GB
LC_CTYPE="en_GB"
LC_NUMERIC="en_GB"
LC_TIME="en_GB"
LC_COLLATE="en_GB"
LC_MONETARY="en_GB"
LC_MESSAGES="en_GB"
LC_PAPER="en_GB"
LC_NAME="en_GB"
LC_ADDRESS="en_GB"
LC_TELEPHONE="en_GB"
LC_MEASUREMENT="en_GB"
LC_IDENTIFICATION="en_GB"
LC_ALL=en_GB

ianr@desktop glibc $ locale -ck LC_COLLATE
LC_COLLATE
collate-nrules=4
collate-rulesets=""
collate-symb-hash-sizemb=257
collate-codeset="UTF-8"

ianr@desktop glibc $ locale -ck charmap
LC_CTYPE
charmap="UTF-8"

The UTF-8 values for the collate and charmap entries should be
ISO-8859-1.

This is despite doing the following;

* checking the en_GB locale files in /usr/lib/locale and
/usr/share/i18n against a working machine and they match (according
to md5sum),

* re-installing glibc, twice, once from the original borked locale
setup and again using locales.build with en_GB and en_GB.UTF8 as
the locales to build and userlocales set as a use flag in gentoo
(this makes it build only the locales in locales.build),

* re-checking the md5sum values between the working machine and the
borked one, they still match,

* re-compiling X with the partially OK setup,

* checking I have the latest stable release of glibc for Gentoo on
both machines (I do, and they match),

* checking that all unicode or UTF-8 references in Gentoo's rc.conf
or /etc/conf.d files are turned off (they are),

* tried switching the consoletrans variable in the console font
config file from default value (whatever that is) to
CONSOLETRANSLATION="8859-1_to_uni", the latter allows me to type
the pound sign on the console but makes no difference to the
LC_COLLATE or charmap results from locale -ck.

All of this has been done outside of X to remove any confusion that
might add, but still it's borked. The working machine gives the
following output from the various locale commands;

services locales # locale
LANG=en_GB
LC_CTYPE="en_GB"
LC_NUMERIC="en_GB"
LC_TIME="en_GB"
LC_COLLATE="en_GB"
LC_MONETARY="en_GB"
LC_MESSAGES="en_GB"
LC_PAPER="en_GB"
LC_NAME="en_GB"
LC_ADDRESS="en_GB"
LC_TELEPHONE="en_GB"
LC_MEASUREMENT="en_GB"
LC_IDENTIFICATION="en_GB"
LC_ALL=en_GB

services locales # locale -ck LC_COLLATE
LC_COLLATE
collate-nrules=4
collate-rulesets=""
collate-symb-hash-sizemb=257
collate-codeset="ISO-8859-1"

services locales # locale -ck charmap
LC_CTYPE
charmap="ISO-8859-1"

Anyone know why there are differences when they're working from the
same configuration files and the same version of glibc compiled the
same way?

Cheers for any help, I've been googling for ages and not gotten
anywhere on this. Next I'll be scrubbing all locale-related
directories and rebuilding glibc again in case it's not overwriting
some file or other that's causing it problems.

--
Blast off and strike the evil Bydo empire!
.



Relevant Pages

  • number to word in any language (was: change a single digit to corresponding English word)
    ... It must be available (part of glibc I think), ... BB> difficult problem requiring a lot of knowledge of the language you ... it has to happen at the Perl level. ... The CPAN *Locale* modules were not very useful for this task. ...
    (comp.lang.perl.misc)
  • Re: Locales: en_GB.iso8859-1 has LC_COLLATE=UTF-8
    ... >> directories and rebuilding glibc again in case it's not overwriting ... locale definitions to avoid the computational ... your last glibc upgrade, for some reason. ...
    (uk.comp.os.linux)
  • Re: change a single digit to corresponding English word
    ... This is rather a handy module by the way. ... Perl. ... It must be available (part of glibc I think), ... The CPAN *Locale* modules were not very useful for this task. ...
    (comp.lang.perl.misc)
  • Re: strtod - Dynamic Memory?
    ... >>character that represents the decimal point depends on the locale. ... the library (glibc) is behaving as documented for the library. ... decimal-point character--normally ., but it depends on the locale (see ...
    (comp.lang.c)
  • Creating your own locale
    ... immediately compiles it into a relocateable library. ... Now I use, and dislike, the en_GB locale, because it causes 'date' to ... The format of the localedef config file is given in locale, ... BUT there is a BUG in localedef. ...
    (comp.unix.solaris)