Frage

ich verwende DotNetZip in meinem Projekt.

using (var zip = new ZipFile()) 
{ 
   zip.ProvisionalAlternateEncoding = System.Text.Encoding.GetEncoding(866); 
   zip.AddFile(filename, "directory\\in\\archive"); 
   zip.Save("archive.zip"); 
} 

alles ok, aber wenn ich Methode AddDirectoryByName verwende Ich habe einen schlechten Verzeichnisnamen.

War es hilfreich?

Lösung

Universal-Weg für alle ist:

zip.AlternateEncoding = Encoding.UTF8;
zip.ProvisionalAlternateEncoding = Encoding.GetEncoding(Console.OutputEncoding.CodePage);
zip.AlternateEncodingUsage = ZipOption.AsNecessary;

Andere Tipps

Auf diese Weise in der neuen Version für mich arbeiten

zip.AlternateEncodingUsage = ZipOption.Always;
zip.AlternateEncoding = Encoding.GetEncoding(866); 

Sie können Definition Peek erste. Dann finden Sie diese:

public ZipFile(Encoding encoding);

So können Sie diese verwenden:

using (ZipFile zip = new ZipFile(Encoding.UTF8))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top