Locale: LC_MESSAGES influences character set???
Hi,
I dedicated the previous days to locales (on potato). After reading all
HOW-TOs, mailing list archives etc. I could find, I finally managed to
have special chars in the console _and_ an english gnome. However, I've
come across some things I still don't understand.
First, here are my locale settings:
user@host:~/dir$ locale
LANG=C (see below for why this seems to be)
LC_CTYPE=de_DE.ISO-8859-15 (latin charset with Euro symbol)
LC_NUMERIC=de_DE
LC_TIME=de_DE
LC_COLLATE=de_DE
LC_MONETARY=de_AT
LC_MESSAGES=en_US
LC_ALL=
I have special chars:
user@host:~/dir$ ls
user@host:~/dir$ touch ä
user@host:~/dir$ ls
ä
user@host:~/dir$
Question 1:
Strangely, the setting of LC_MESSAGES changes my ability to display
umlauts in filenames:
user@host:~/dir$ ls
ä
user@host:~/dir$ export LC_MESSAGES=en_EN
user@host:~/dir$ ls
?
user@host:~/dir$
user@host:~/dir$ export LC_MESSAGES=en_US
user@host:~/dir$ ls
ä
user@host:~/dir$
Why is this?? Shouldn't the charset be determined by LC_CTYPE (alone)?
(Other programs, such as mutt, can still display umlauts)
Question 2:
LANG=C gets set by gdm, although I put LANG=en_US in /etc/environment
(when I log in on the text console, it _is_ set to en_US, according to
/etc/environment). There is a DefaultLocale=english setting in gdm.conf,
but this seems not to change LANG. The behavior of gdm seems strange,
since /etc/gdm/Sessions/Gnome _does_ honour /etc/environment:
if [ -f /etc/environment ]; then
. /etc/environment
fi
I don't know if this can be a problem. Does someone?
Thanks for helping with my questions or yet another pointer to
documentation (sigh :)
Oh, and to anyone who wrestles with locales and uses Evolution: Evo 0.8
(the latest packaged version) has a known bug that will prevent it from
displaying special chars unless LC_ALL is set to something like de_DE.
No other LC_* will do.
--
I did not vote for the Austrian government
Linux: The choice of a GNU generation. Visit http://www.gnu.org/
Reply to: