Ich muss die richtige Codepage angeben, um die Dateien mit der zip-Bibliothek zu packen. Wie ich sehe, muss ich Konsolencodierung angeben (866 in meinem Fall).
%Vor%Console.OutputEncoding gibt 1251 zurück, was ich nicht brauche.
Danke,
Alex
Update 1: Offensichtlich führe "mode" in cmd.exe aus und parse Ausgabe sollte funktionieren, aber es scheint zu unhöflich. Ich suche nach .NET-Lösung.
Update 2: Die Anwendung ist eine Windows Forms-Anwendung, keine Konsolen-App.
Die Standard -Codepage für eine App im Konsolenmodus wird durch das Systemgebietsschema bestimmt. Systemsteuerung + Region und Sprache, Registerkarte Verwaltung, Gebietsschema ändern. Ihre Windows-Codepage ist kyrillisch, also ist Ihre Konsolencodepage so, dass die Wahrscheinlichkeit groß ist, dass dieser Code funktioniert:
%Vor%Vermeide das Schreiben von Code wie dieser, 8-Bit-Text-Codierungen sind ein Minenfeld. Es gibt sicherlich keinen vernünftigen Grund, ein Zip-Programm im Console-Modus zu betreiben. Es gibt viele .NET-Zip-Bibliotheken, die verfügbar sind.
Sie benötigen Encoding.CodePage
Eigenschaft:
gibt Ihnen einen Code-Seitenwert (in Ihrem Beispiel 866).