From d7254e46c935f23fd3504afa35fb755fe0128f84 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Mon, 17 Jul 2023 23:55:49 +0300 Subject: [PATCH] Add support unicode names --- OfficeUtils/src/ZipUtilsCP.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/OfficeUtils/src/ZipUtilsCP.cpp b/OfficeUtils/src/ZipUtilsCP.cpp index b8fc5e89ed..8513872aaf 100644 --- a/OfficeUtils/src/ZipUtilsCP.cpp +++ b/OfficeUtils/src/ZipUtilsCP.cpp @@ -181,7 +181,12 @@ namespace ZLibZipUtils if (err!=UNZ_OK) return err; - std::wstring filenameW = codepage_issue_fixFromOEM(filename_inzipA); + std::wstring filenameW; + if (file_info.flag & 2048 /*11 bit*/) + filenameW = NSFile::CUtf8Converter::GetUnicodeStringFromUTF8((BYTE*)filename_inzipA, strlen(filename_inzipA)); + else + filenameW = codepage_issue_fixFromOEM(filename_inzipA); + #ifdef _WIN32 for(std::wstring::size_type i = 0, len = filenameW.length(); i < len; ++i) if(filenameW[i] == L'/')