DotNetZip Probleme mit russischer Codierung
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.
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