DotNetZip与俄语编码有关

Xav*_*ver 5 .net c# dotnetzip

我在我的项目中使用DotNetZip.

using (var zip = new ZipFile()) 
{ 
   zip.ProvisionalAlternateEncoding = System.Text.Encoding.GetEncoding(866); 
   zip.AddFile(filename, "directory\\in\\archive"); 
   zip.Save("archive.zip"); 
} 
Run Code Online (Sandbox Code Playgroud)

一切都好,但是当我使用方法AddDirectoryByName我有一个错误的目录名称.

小智 8

通用的方式是:

zip.AlternateEncoding = Encoding.UTF8;
zip.ProvisionalAlternateEncoding = Encoding.GetEncoding(Console.OutputEncoding.CodePage);
zip.AlternateEncodingUsage = ZipOption.AsNecessary;
Run Code Online (Sandbox Code Playgroud)


Igo*_*min 5

这种方式在新版本中为我工作

zip.AlternateEncodingUsage = ZipOption.Always;
zip.AlternateEncoding = Encoding.GetEncoding(866); 
Run Code Online (Sandbox Code Playgroud)