Хотя это может быть не лучшим решением для всех, вы можете написать собственные подпрограммы C ++ UNICODE, если хотите!
Я только что закончил делать это за выходные. Я многому научился, хотя я не гарантирую, что он на 100% свободен от ошибок, я много тестировал, и, похоже, он работает правильно.
Мой код находится под новой лицензией BSD и может быть найден здесь:
http://code.google.com/p/netwidecc/downloads/list
Он называется WSUCONV и поставляется с примером программы main (), которая конвертирует между UTF-8, UTF-16 и Standard ASCII. Если вы выбросите основной код, у вас будет хорошая библиотека для чтения / записи UNICODE.