Free Support Forum - aspose.com

Aspose.zip for .net 解压中文乱码

zip压缩包里面有中文文件名的文件,解压后是乱码,请问有办法处理?
使用的是最新的.net 版aspose.zip

@gsh365,

请ZIP并在此处附加以下资源进行测试:

  • 您遇到此问题的ZIP文件
  • .NET的Aspose.ZIP生成的输出文件显示了不良行为
  • 一个独立的简单控制台应用程序(无编译错误的源代码),可帮助我们最终重现当前问题并将其附加到此处进行测试。 请不要在其中包含.NET DLL文件的Aspose.ZIP,以减小文件大小。

在您准备好这些信息后,我们将开始对您的方案/问题进行进一步调查,并为您提供更多信息。

Desktop.zip (1.7 KB)此压缩包内的文件名包含中文,解压出来后文件名乱码。

使用的代码就是官方的github示例代码 ,e.Entry.Name 会乱码。

@gsh365,

请检查此ZIP文件是否包含中文名称的文本文件。

之后,通过使用以下用于.NET 20.11的Aspose.ZIP代码,我可以成功解压缩存档,而不会破坏中文文件名。

using (FileStream fs = File.OpenRead(@"C:\Temp\Desktop\sample.zip"))
{
    using (Archive archive = new Archive(fs))
    {
        archive.Entries[0].Extract(@"C:\Temp\Desktop\az\" + archive.Entries[0].Name);
    }
}

您能否列出我们可以按照此步骤重现此确切问题的完整步骤? 谢谢您的合作。

image.png (8.5 KB)
这是我的测试结果。附件是测试代码和zip文件,Desktop.zip (1.7 KB)
ConsoleApp1.zip (1.5 MB)

@gsh365,

我们已在问题跟踪系统中记录了此问题。 您的票号是ZIPNET-601。 我们将进一步调查该问题的详细信息,并将使您随时了解链接问题的状态。 很抱歉给您带来不便。