LINUX.ORG.RU

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

Исправление dllmain, (текущая версия) :

если пользователь ввёл строку, то её можно было корректно вывести ему обратно

- использование narrow потоков ввода-вывода(если не трогать локали, или трогать со знанием дела - там по умолчанию ввод-вывод «как есть», без преобразований)

- использование wide потоков + user-preffered локаль

если в программе была проинициализирована строка, содержащая русские буквы, то чтобы и её можно было также корректно вывести

- char + narrow I/O: при этом кодировка исходника дожна соответствовать таковой в user-preffered локали(в линуксах более-менее просто - в большинстве мест UTF-8, работает так: литералы char/char[] компилятор пишет в объектник «как есть»)

- wchar_t + wide I/O: здесь надо перед компиляцией перегнать исходник в кодировку из user-preffered локали: что-то типа `iconv -f $SOURCE_IN_ENCODING < $SOURCE_IN > $SOURCE`, "-t" не нужно, и уже его компилять(про то, что надо в приложении локализовать потоки тоже забывать не стоит)

А вообще да, use qt/boost/icu/libiconv

Исходная версия Deleted, :

если пользователь ввёл строку, то её можно было корректно вывести ему обратно

- использование narrow потоков ввода-вывода(если не трогать локали, или трогать со знанием дела - там по умолчанию ввод-вывод «как есть», без преобразований) - использование wide потоков + user-preffered локаль

если в программе была проинициализирована строка, содержащая русские буквы, то чтобы и её можно было также корректно вывести

- char + narrow I/O: при этом кодировка исходника дожна соответствовать таковой в user-preffered локали(в линуксах более-менее просто - в большинстве мест UTF-8, работает так: литералы char/char[] компилятор пишет в объектник «как есть») - wchar_t + wide I/O: здесь надо перед компиляцией перегнать исходник в кодировку из user-preffered локали: что-то типа `iconv -f $SOURCE_IN_ENCODING < $SOURCE_IN > $SOURCE`, "-t" не нужно, и уже его компилять(про то, что надо в приложении локализовать потоки тоже забывать не стоит)

А вообще да, use qt/boost/icu/libiconv