[Homeros] Voiceman. Определение кодировки
Дмитрий Падучих
dpaduch на k66.ru
Пн Май 10 05:58:11 UTC 2010
Привет всем!
Как я понимаю, Voiceman определяет кодировку локали на основании
переменной $LANG. Но это не вполне верный способ. $LC_CTYPE и $LC_ALL
имеют приоритет перед $LANG. К тому же в имени локали может не быть
кодировки. Более надёжный (и простой) способ:
setlocale(LC_CTYPE, "");
char *encoding = nl_langinfo(CODESET);
Ещё, по-моему, полагаться на то, что представление wchar_t совпадает с
utf32le, не слишком надёжно. По крайней мере в libiconv для этого есть
специальная кодировка - wchar_t. Возможно, лучше использовать её.
--
Дмитрий Падучих
Подробная информация о списке рассылки Homeros