evilandfox
@evilandfox
Javascript, meteor, Qt

Как нормально отобразить файл архива на кириллице на QuaZIP?

Использую QuaZIP в проекте. Получаю список файлов архива через JlCompress::getFileList(zipFile);, они выводятся в виде:
"ѓќ‘Ќ/‘Ў®а\u00ADЁЄЁ \u00AD  ¬®\u00ADв ¦ ®Ў®а㤮ў \u00ADЁп/"

Как исправить? Думаю тут проблема в самом Qt, а не в самой библиотеке
  • Вопрос задан
  • 232 просмотра
Решения вопроса 1
evilandfox
@evilandfox Автор вопроса
Javascript, meteor, Qt
Случайно получилось решить проблему. Привожу код:
QTextDecoder *decoder = QTextCodec::codecForName("cp866")->makeDecoder(QTextCodec::IgnoreHeader);
QString badString = "ѓќ‘Ќ/‘Ў®а\u00ADЁЄЁ \u00AD  ¬®\u00ADв ¦ ®Ў®а㤮ў \u00ADЁп/";
QString correctString = decoder->toUnicode(badString.toLocal8Bit());
qDebug() << correctString; //выведет "ГЭСН/Сборники на монтаж оборудования/"

Не уверен насчет кроссплатформенности

UPDATE
Понадобилось больше функционала от библиотеки, в итоге начал использовать сам класс QuaZip. А там проблема решается просто:
QuaZip *zip = new QuaZip();
zip->setFileNameCodec("IBM866");
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы