我有在Win10上创建的西里尔文件名的存档
var path = "D:\\encoding.zip";
using (var tempZip = new ZipOutputStream(System.IO.File.Create(path)))
{
for (int i = 0; i < 10; i++)
{
var entry = new ZipEntry($"Привет {i + 1}.txt")
{
IsUnicodeText = true
};
tempZip.PutNextEntry(entry);
}
}
在win10中,我有正确的编码名称但是当我在Win7上打开这个档案时,我的编码不正确。
我尝试设置ZipConstants.DefaultCodePage = 866;但我得到了同样的错误。 我从DotNetZip和DotnetZip迁移了这个代码我也有这个错误,但我用它修复了它:
tempZip.AlternateEncoding = Encoding.GetEncoding(866);
tempZip.AlternateEncodingUsage = ZipOption.AsNecessary;
我还没有在SharpZLib中找到这个选项。 那我怎么能解决这个错误呢?