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

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

17.03.2016, 13:50. Показов 2789. Ответов 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
33400 / 21510 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 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
33400 / 21510 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 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
33400 / 21510 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 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
33400 / 21510 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru