LINUX.ORG.RU

История изменений

Исправление 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().