[vdr] vdr-1.5.3 - LANG="de_DE at euro" not recognized

Anssi Hannula anssi.hannula at gmail.com
Sun Jun 10 23:48:59 CEST 2007


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 at euro" does not contain any
>>> dot, vdr fails to recognize this. Is "de_DE at 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).

-- 
Anssi Hannula



More information about the vdr mailing list