我正在使用DotNetZip。当我归档文件时,这些文件通常都有英文名称。但是当我在结果归档中归档带有俄文名称的文件时,文件名是错误的。有些人说这个字符串
ZipConstants.DefaultCodePage = 866;但是它不能编译。我还使用zip.UseUnicodeAsNecessary属性,并将文件名转换为utf8和utf7。
发布于 2010-04-07 05:05:33
要在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");
}在使用这些属性之前,请检查the documentation!
发布于 2012-02-07 14:41:32
zip.AlternateEncodingUsage = ZipOption.Always;
zip.AlternateEncoding = Encoding.UTF8;发布于 2016-01-15 18:46:06
https://stackoverflow.com/questions/2565414
复制相似问题