Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
Марсианин)))
713 / 46 / 15
Регистрация: 18.07.2010
Сообщений: 637

Некорректная распаковка файлов с именами на кириллице (System.Zip.hpp)

17.03.2016, 13:50. Показов 2736. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Проблема в следующем. Имеется код распаковки архива
C++
1
2
3
4
5
TZipFile *zipa = new TZipFile();
zipa->Open("z:\\A.zip",zmRead);
zipa->ExtractAll("C:\\Util");
zipa->Close();
delete zipa;
Если в архиве имена файлов английские, то всё хорошо, но если имена на кириллице то проблема. Распаковка идёт но имена файлов кракозябры. Как это можно исправить? Вроде бы в System.Zip.hpp везде идёт Unicod.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.03.2016, 13:50
Ответы с готовыми решениями:

Распаковка ZIP-файлов
Подскажите, есть ли бесплатная программа с цифровой подписью для распаковки файлов с расширением .zip? Перешел на Windows 7 Professional...

Распаковка ZiP-архива с заменой файлов
Здравствуйте! Нигде нет толкового ответа про эту тему. Как извлечь, скажем, с помощью стандартной библиотеки, архив zip так, чтобы при...

Работа с ZIP-архивами - распаковка файлов
Привет, уважаемый ALL! Подскажите, как можно работать с zip архивами из VBA? Стоит задача: 1) прочитать из архива...

12
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
17.03.2016, 13:55
Попробуйте так:
C++
1
zipa->Open(L"z:\\A.zip",zmRead);
0
Марсианин)))
713 / 46 / 15
Регистрация: 18.07.2010
Сообщений: 637
17.03.2016, 14:55  [ТС]
Цитата Сообщение от Почтальон Посмотреть сообщение
Попробуйте так:

C++
1
zipa->Open(L"z:\\A.zip",zmRead);
Результат тот же. Я уже пробовал.
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
17.03.2016, 15:09
И в третьей строчке так делали ?
0
Марсианин)))
713 / 46 / 15
Регистрация: 18.07.2010
Сообщений: 637
17.03.2016, 15:36  [ТС]
Цитата Сообщение от Почтальон Посмотреть сообщение
И в третьей строчке так делали ?
Да.

Добавлено через 20 минут
И в дельфи тоже самое.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33378 / 21502 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 11
17.03.2016, 15:37
Dr.Xank, тестовый файл приклей. Я на своем проблему не могу воспроизвести, у меня кириллица в распакованных именах нормально отображается.
0
Марсианин)))
713 / 46 / 15
Регистрация: 18.07.2010
Сообщений: 637
17.03.2016, 16:31  [ТС]
Просто размер 22 Мб

Добавлено через 3 минуты
Цитата Сообщение от volvo Посмотреть сообщение
Я на своем проблему не могу воспроизвести, у меня кириллица в распакованных именах нормально отображается.
А вы не могли бы проект прикрепить полностью.
И вроде по этой ошибке нашел багрепорт http://qc.embarcadero.com/wc/qcmain.aspx?d=112168

Эту проблему нашел здесь
http://teran.karelia.pro/articles/item_4491.html

Может ошибаюсь, я английский не знаю.

 Комментарий модератора 

Архив разбит на три части. Именно так следует грузить большие файлы на форум.
Вложения
Тип файла: rar AIDA64-5.50.3600.new.part2.rar (9.00 Мб, 4 просмотров)
Тип файла: rar AIDA64-5.50.3600.new.part3.rar (3.90 Мб, 2 просмотров)
Тип файла: rar AIDA64-5.50.3600.new.part1.rar (9.00 Мб, 3 просмотров)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33378 / 21502 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 11
17.03.2016, 16:37
Цитата Сообщение от Dr.Xank Посмотреть сообщение
И вроде по этой ошибке нашел багрепорт
Это не та проблема, которая описана у тебя.
Цитата Сообщение от Dr.Xank Посмотреть сообщение
А вы не могли бы проект прикрепить полностью.
Там из всего, что связано с Zip-ом - те самые 5 строк кода которые в стартовом посте темы. Без изменений (изменены только пути к архиву и к папке для распаковки).
Цитата Сообщение от Dr.Xank Посмотреть сообщение
Просто размер 22 Мб
Просто заархивировать три файла с кириллическими именами, и проверить на них, распаковывает или нет - пробовал? Я просил сам zip-архив, распаковка которого дает сбой, а не весь проект.
0
Марсианин)))
713 / 46 / 15
Регистрация: 18.07.2010
Сообщений: 637
17.03.2016, 16:42  [ТС]
Цитата Сообщение от volvo Посмотреть сообщение
Я просил сам zip-архив,
Там как раз сам архив, на котором ошибка.
Цитата Сообщение от volvo Посмотреть сообщение
Просто заархивировать три файла с кириллическими именами, и проверить на них, распаковывает или нет - пробовал?
Нет.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33378 / 21502 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 11
17.03.2016, 16:49
Цитата Сообщение от Dr.Xank Посмотреть сообщение
Нет.
Ну вот и попробуй. Если сработает на самодельном архиве - значит, проблему нужно искать не в содержимом модуля System.Zip, а в том архиве, который не получается правильно распаковать. И по голове стучать тому, кто его тебе передает. Кстати, вот тут, насколько я помню, могут быть зависимости от Ос. У тебя не XP, часом?

Добавлено через 5 минут
P.S. Ну вот, что и требовалось доказать. Собственно 7z при открытии твоего архива точно так же дает кракозябры. Так что дельфийский модуль точно положения не исправит...
Миниатюры
Некорректная распаковка файлов с именами на кириллице (System.Zip.hpp)  
1
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
18.03.2016, 07:18
WinRAR пятый - полет нормальный. 7-zip 9.20 - тоже все хорошо. Ну, у меня по крайней мере так.

Добавлено через 55 секунд
Возможно, что-то с локализацией системы?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33378 / 21502 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 11
18.03.2016, 12:22
У меня система не локализована, но это же не повод, правда? Потому что (7-zip 9.20) :



, прекрасно отображаются символы как кириллические, так и те, которые выбраны в Non-Unicode, почему тогда файл, приложенный ТС-ом не отображается, если там тоже кириллица? Что-то на стороне того, кто собирал файл. Либо у него ОС еще не вполне поддерживающая юникод, либо версия архиватора древняя какая-то.
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
19.03.2016, 01:00
Да я не знаю, в общем-то Просто у меня открывается и все.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.03.2016, 01:00
Помогаю со студенческими работами здесь

Распаковка ZIP-архива с заменой файлов
Здравствуйте мне нужно распаковать zip заменой файлов, я делал так: ZipFile.ExtractToDirectory(zipfile, zipfolder); но в таком случаи...

Распаковка ZIP с определёнными названиями файлов
Можно ли сделать так, чтобы при распаковке ZIP-архива в Linux выводились файлы с определёнными названиями (например, file1, file2, file3, а...

Распаковка zip
Не могу распаковать архив. При работе этого кода создается новый пустой архив, но никак не разархивируется. 2 день сижу. Помогите...

Распаковка Zip
Ребят, помогите доработать код. Распаковывает зип на отлично, только мне нужно, чтобы он еще и распаковывал файлы в папку с таким именем...

Распаковка zip архива
Нужно распаковать архив из 1 места в ту директорию которую я укажу (путь к ней если быть точнее) я нашел несколько способов, но у всех нет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru