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 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?
Regards,
Joachim.
Joachim Wilke wrote:
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.
On 06/10/07 22:22, Anssi Hannula wrote:
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.
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
On Sonntag, 10. Juni 2007, Klaus Schmidinger wrote:
On 06/10/07 22:22, Anssi Hannula wrote:
[...]
I would also use nl_langinfo(CODESET), as Anssi said.
getenv("LANG") is probably to coarse and the old way of doing things, nl_langinfo is the modern way.
setlocale(LC_CTYPE, "") sets the locale to nothing -- what you probably meant is setlocale(LC_CTYPE, 0) ... just to clarify things, in case somebody wants to use the knowledge of these emails later :-)
Kind regards, Stefan