J'utilise DotNetZip dans mon projet. Ok, mais quand j'utilise la méthode AddDirectoryByName j'ai un mauvais nom de répertoire.Problème de DotNetZip avec l'encodage russe
3
A
Répondre
6
manière universelle pour tous est:
zip.AlternateEncoding = Encoding.UTF8;
zip.ProvisionalAlternateEncoding = Encoding.GetEncoding(Console.OutputEncoding.CodePage);
zip.AlternateEncodingUsage = ZipOption.AsNecessary;
4
De cette façon, dans de nouveaux travaux de version pour moi
zip.AlternateEncodingUsage = ZipOption.Always;
zip.AlternateEncoding = Encoding.GetEncoding(866);
2
Vous risquez Peek Définition d'abord. Ensuite, vous trouverez ceci:
public ZipFile(Encoding encoding);
Vous pouvez utiliser ceci:
using (ZipFile zip = new ZipFile(Encoding.UTF8))
Y at-il particulier bibliothèque ZIP que vous utilisez? – Nayan
Que voulez-vous dire par "mauvais nom"? Pouvez-vous poster un exemple spécifique? – Cheeso
Je l'ai essayé avec la toute dernière version de DotNetZip et je n'ai pas d'exception: 'using (var zip = nouveau ZipFile()) {zip.AlternateEncoding = Encoding.GetEncoding (866); zip.AddDirectoryByName ("Россия"); zip.Save ("archive.zip"); } ' –