题
我用DotNetZip在我的项目。
using (var zip = new ZipFile())
{
zip.ProvisionalAlternateEncoding = System.Text.Encoding.GetEncoding(866);
zip.AddFile(filename, "directory\\in\\archive");
zip.Save("archive.zip");
}
所有确定,但当我使用方法AddDirectoryByName我有一个坏的目录名。
解决方案
<强>通用于所有的方法是:强>
zip.AlternateEncoding = Encoding.UTF8;
zip.ProvisionalAlternateEncoding = Encoding.GetEncoding(Console.OutputEncoding.CodePage);
zip.AlternateEncodingUsage = ZipOption.AsNecessary;
其他提示
本方式的新版本为我工作
zip.AlternateEncodingUsage = ZipOption.Always;
zip.AlternateEncoding = Encoding.GetEncoding(866);
您可以首先偷看定义。 这时你会发现这样的:
public ZipFile(Encoding encoding);
所以,你可以使用这样的:
using (ZipFile zip = new ZipFile(Encoding.UTF8))
不隶属于 StackOverflow