Klaus Schmidinger wrote:
On 06/10/07 22:22, Anssi Hannula wrote:
Joachim Wilke wrote:
I had a look into vdr.c and found out, that the dot is used delimiter between language and codeset - as "de_DE@euro" does not contain any dot, vdr fails to recognize this. Is "de_DE@euro" an invalid value for this variable?
It is not. "locale -a" prints all the installed locales, and any of those values is valid for you to use.
I didn't find any info via quick search, but I believe that instead of parsing the localename, VDR should use some external function to get the language/charset of the current locale.
There's getenv("LANG"), setlocale(LC_CTYPE, ""), and Thomas Günther recently suggested in a PM to use nl_langinfo(CODESET). Quite a few options - which one is the right one? ;-)
Somebody with insight please advise exactly how to do this - I personally just set LANG to de_DE.iso8859-1 and live happily ever after ;-)
Looking at nl_langinfo manpage, it seems to me that nl_langinfo(CODESET) is the correct one to use:
Return a string with the name of the character encoding used in the selected locale, such as "UTF-8", "ISO-8859-1", or "ANSI_X3.4-1968" (better known as US-ASCII). This is the same string that you get with "locale charmap". For a list of charac- ter encoding names, try "locale -m", cf. locale(1).