题
我使用DotNetZip。当我归档文件,其中有英文名字都正常。但是当我归档文件与档案结果俄文名字与文件的坏话。一些peoplese说,串
ZipConstants.DefaultCodePage = 866;
但它不能编译。我也用zip.UseUnicodeAsNecessary属性,我的文件名转换为UTF8和UTF7。
解决方案
要创建在DotNetZip一个unicode zip文件:
using (var zip = new ZipFile())
{
zip.UseUnicodeAsNecessary= true;
zip.AddFile(filename, "directory\\in\\archive");
zip.Save("archive.zip");
}
如果你想要一个特定的,具体的代码页,则必须使用别的东西:
using (var zip = new ZipFile())
{
zip.ProvisionalAlternateEncoding = System.Text.Encoding.GetEncoding(866);
zip.AddFile(filename, "directory\\in\\archive");
zip.Save("archive.zip");
}
其他提示
zip.AlternateEncodingUsage = ZipOption.Always;
zip.AlternateEncoding = Encoding.UTF8;
不隶属于 StackOverflow