我在我的项目中使用DotNetZip。
using (var zip = new ZipFile())
{
zip.ProvisionalAlternateEncoding = System.Text.Encoding.GetEncoding(866);
zip.AddFile(filename, "directory\\in\\archive");
zip.Save("archive.zip");
}
一切正常但是当我使用方法AddDirectoryByName时,我的目录名称不正确。
答案 0 :(得分:8)
通用的方式是:
zip.AlternateEncoding = Encoding.UTF8;
zip.ProvisionalAlternateEncoding = Encoding.GetEncoding(Console.OutputEncoding.CodePage);
zip.AlternateEncodingUsage = ZipOption.AsNecessary;
答案 1 :(得分:5)
这种方式在新版本中为我工作
zip.AlternateEncodingUsage = ZipOption.Always;
zip.AlternateEncoding = Encoding.GetEncoding(866);
答案 2 :(得分:3)
您可以先窥视定义。 然后你会发现:
public ZipFile(Encoding encoding);
所以你可以使用它:
using (ZipFile zip = new ZipFile(Encoding.UTF8))