Марсианин)))
713 / 46 / 15
Регистрация: 18.07.2010
Сообщений: 637

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

17.03.2016, 13:50. Показов 2746. Ответов 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
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
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
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
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
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
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
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru