История изменений
Исправление saahriktu, (текущая версия) :
Это да, но тут кому как.
setlocale() - это ещё glibc, а сторонние библиотеки - это уже не glibc. А одни библиотеки, разумеется, не знают о других, и смешивать их тот ещё квест.
В том же Free Pascal'е можно просто перезагрузить _классические_ строковые функции юникодными вариантами, которые будут работать с конкретными UnicodeString (UTF-16). При этом конвертирование в UTF-8 при выводе происходит автоматически, а для чтения из UTF-8 в UnicodeString есть UTF8Decode().
Исходная версия saahriktu, :
Это да, но тут кому как.
setlocale() - это ещё glibc, а сторонние библиотеки - это уже не glibc. А одни библиотеки, разумеется, не знают о других, и смешивать их тот ещё квест.
В том же Free Pascal'е можно просто перезагрузить _классические_ строковые функции юникодными вариантами, которые будут работать с конкретными UnicodeString (UTF-16). При этом конвертирование в UTF-8 при выводе происходит автоматически (если включить соответствующий флаг), а для чтения из UTF-8 в UnicodeString есть UTF8Decode().