On 06/10/07 22:22, Anssi Hannula wrote:
Joachim Wilke wrote:
Hi everbody,
in my system the LANG environment is set to "de_DE@euro". VDR did not recognize this character set. After I changed LANG to "de_DE.iso-8859-15" umlauts are correctly displayed e.g.in the EPG data. But I still get the following error in syslog: "codeset is 'ISO-8859-15' - unknown". What's wrong here?
I coded this in libsi/si.c as ISO8859-15 (without the first '-'). I guess we can change this to ISO-8859-15 just as well. Please try it and let me know if that fixes it.
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 ;-)
Klaus