Использую FreeImage для открытия\сохранения изображений (потому, что он умеет EXIF, а Qt - нет).
Соответственно для этого библиотеке нужно передать название файла. Названия могут быть такими:
Photo 203.png
Безымянный.png
肖像画.jpg
Эти файлы я считываю через
QString path = QFileDialog::getOpenFileName(...)
Полученную строку пытаюсь передать в либу, но все тщетно:
Если я передаю строку как path.toUtf8().data(), то все работает, только с латинскими названиями.
Если передаю как path.toLocal8Bit.data(), то либа работает только с латинскими названиями и названиями в кодировке текущей локали (в данном случае кириллицей).
Подскажите, пожалуйста, как правильно передавать строки в сторонние либы? Чтобы любые символы читались. Исходники в юникоде, внутри Qt все отображается как надо - проблемы только с либой.
Еще там есть возможность открытия\сохранения по строке типа const wchar_t * (utf16), но как я не пытался конвертировать QString, какую бы я строку не пихал в либо - не работает.
Либа:
http://freeimage.sourceforge.net/