Недопустимое имя файла получено из zip-файла C#

Привет, я пытаюсь прочитать zip-файл, который содержит несколько файлов. Несколько файлов внутри названы на арабском языке.
Имя моего файла: (Final تدريب.pdf) вместо этого становится (Final óº⌐∩á.pdf). Я надеюсь, что вы можете направить меня.

Вот мой код:

using Ionic.Zip;

                  using (ZipFile zip = ZipFile.Read(path))
                    {

                        foreach (var entry in zip.Entries)
                        {
                            string name = entry.FileName;
                        }
                    }


person Omar Awwad    schedule 10.09.2020    source источник
comment
Какую zip-библиотеку вы здесь используете? Похоже, это не классы System.IO.Compression для zip-файлов.   -  person Llama    schedule 10.09.2020
comment
@John Я пробовал System.IO.Compression и Ionic.zip, и они оба у меня не работают.   -  person Omar Awwad    schedule 10.09.2020
comment
Пожалуйста, перечитайте мой комментарий.   -  person Llama    schedule 10.09.2020
comment
Хорошо, но для какой библиотеки код в вашем вопросе? Что вы используете сейчас?   -  person Llama    schedule 10.09.2020
comment
Ваш код выше DotNetZip?   -  person Llama    schedule 10.09.2020
comment
@Джон Да, это DotNetZip   -  person Omar Awwad    schedule 10.09.2020
comment
Помогает ли это?   -  person Llama    schedule 10.09.2020
comment
Я попробовал, и это не сработало со мной.   -  person Omar Awwad    schedule 10.09.2020
comment
Правильно ли отображается имя zip-файла, если вы открываете его в Windows или в другом zip-приложении? Вы указали правильную кодировку для DotNetZip? Я не использовал DotNetZip, но у вас определенно проблема с кодировкой.   -  person Llama    schedule 10.09.2020
comment
Когда я распаковываю его в Windows, он показывает мне правильные имена файлов. Да, я предоставил кодировку utf8, и она показала мне недопустимые имена файлов для арабских символов.   -  person Omar Awwad    schedule 10.09.2020


Ответы (1)


using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
    foreach (ZipArchiveEntry entry in archive.Entries)
    {
        Console.WriteLine(entry.FullName);
        //entry.ExtractToFile(Path.Combine(destFolder, entry.FullName));
    }
} 

линред из stackoverflow

person Abhijeet Gupta    schedule 10.09.2020
comment
Кто проголосовал за этот ответ? Это даже не касается вопроса ОП. - person Llama; 10.09.2020