1 / 1 / 0
Регистрация: 16.09.2016
Сообщений: 82
1

Неверная кодировка при распаковке zip архива

25.09.2016, 12:28. Показов 3370. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
для распаковки решил воспользоваться не стандартной библиотекой, а библиотекой DotNetZip (Ionic.Zip), но при распаковки архива имена файлов в архиве, которые записаны русскими буквами распаковываются иероглифами. возможно ли как-нибудь поменять кодировку что ли, что бы распаковывалось все ровно так, как именовано в архиве? пример своего кода и скрин файлов в архиве до распаковки и после распаковки прилагаю. заранее спасибо за помощь!!!

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Imports Ionic.Zip
 
Public Class Form1
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim zip2 = TextBox1.Text
        Dim unzip2 = TextBox2.Text
        MyExtract(zip2, unzip2)
    End Sub
    Public Sub MyExtract(ByVal ZipToUnpack As String, ByVal UnpackDirectory As String)
        Using zip As ZipFile = ZipFile.Read(ZipToUnpack)
            Dim e As ZipEntry
            For Each e In zip
                e.Extract(UnpackDirectory, ExtractExistingFileAction.OverwriteSilently)
            Next
        End Using
    End Sub
End Class
Миниатюры
Неверная кодировка при распаковке zip архива   Неверная кодировка при распаковке zip архива  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2016, 12:28
Ответы с готовыми решениями:

Неверная кодировка при сохранении в файл
Пишу обыкновенный блокнот но возникла проблема даже две не сохраняется текст в .txt просто...

Неверная кодировка при чтении из файла
Обнаружил неприятный факт, при чтении текста из файла в Label.Text он отображается...

Неверная кодировка при добавлении записи в БД MySQL
Здравствуйте. Для написания программы использую среду Visual studio 2005, язык VB, подключаюсь к БД...

Progressbar при распаковке архива zip
Подскажите пожалуйста как сделать при распаковке zip архива работал progressbar

5
4630 / 3589 / 852
Регистрация: 02.02.2013
Сообщений: 3,464
Записей в блоге: 2
25.09.2016, 16:18 2
off_13, попробовал на нескольких архивах (файлы txt) никаких проблем. М.б. вы приложите ваш архив.
0
Модератор
Эксперт .NET
4303 / 3378 / 506
Регистрация: 27.01.2014
Сообщений: 6,180
25.09.2016, 16:28 3
ovva, подтверждаю
0
4630 / 3589 / 852
Регистрация: 02.02.2013
Сообщений: 3,464
Записей в блоге: 2
25.09.2016, 16:57 4
Лучший ответ Сообщение было отмечено Yury Komar как решение

Решение

Действительно если архив содержит набор файлов, то после разархивирования имена файлов не читаются. Попробуйте так
VB.NET
1
2
3
4
5
6
7
8
9
10
Public Sub MyExtract(ByVal ZipToUnpack As String, ByVal UnpackDirectory As String)
    Dim ro As New ReadOptions
    ro.Encoding = Encoding.GetEncoding(866)
    Using zip As ZipFile = ZipFile.Read(ZipToUnpack, ro)
        Dim e As ZipEntry
        For Each e In zip
            e.Extract(UnpackDirectory, ExtractExistingFileAction.OverwriteSilently)
        Next
    End Using
End Sub
6
Модератор
Эксперт .NET
4303 / 3378 / 506
Регистрация: 27.01.2014
Сообщений: 6,180
25.09.2016, 17:13 5
ток у меня чуть покороче получилось )))
VB.NET
1
2
3
4
5
6
7
    Public Sub UnZipIonic(SourceFile As String, DestinationFolder As String)
        Using tempZip As ZipFile = ZipFile.Read(SourceFile, New Ionic.Zip.ReadOptions With {.Encoding = System.Text.Encoding.GetEncoding(866)})
            For Each ZIPDATA As ZipEntry In tempZip
                ZIPDATA.Extract(DestinationFolder, ExtractExistingFileAction.OverwriteSilently)
            Next
        End Using
    End Sub
6
1 / 1 / 0
Регистрация: 16.09.2016
Сообщений: 82
25.09.2016, 18:58  [ТС] 6
ovva, Yury Komar,
спасибо за помощь!!! все распаковывается теперь как надо!!!
0
25.09.2016, 18:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2016, 18:58
Помогаю со студенческими работами здесь

[Ionic.zip] Исключение при распаковке архива
Всем доброго времени суток. Делаю Updater который скачивает архив потом его распаковывает и...

Задать пароль при распаковке архива .zip
Всем привет. У меня вопрос, имеется код распаковке архива .zip #include <System.Zip.hpp> ...

Получение статуса прогресса при распаковке ZIP архива
Всем доброго времени суток. Вообщем я распаковываю ZIP архив путем: ZipForge zip = new...

При распаковке zip-архива из Windows создаются пустые папки
Например ,если разарзивровать архив с папкой about/contacts/ то создаются не только файлы и папки...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru