« Nix besonderes nur ein kleiner Link | Main| Da ich heute abend ..... »

zippen ist nicht schwer und entzippen ???

0
Category   

In Sharepoint gibt es ja schoene Dokument-Bibliotheken, in welche man z.B. auch per WebDav bequem mehrere Dateien hochladen kann.
Nun kann es passieren, dass der Kunde wuenscht mehrere Dateien in einem ZIP hochzuladen und die sollen dann ausgepackt werden.
Kein Problem, denkt man sich.... Kleines Command-Line-Tool geschrieben, dass in den Scheduler eingetragen und alles Palleti...

Da man/ich das gerne mit C# realisiere benutzt man http://www.codeplex.com/DotNetZip von CodePlex....

Schnell implementiert und getestet....

Alles läuft gut so ca. 1 Woche, dann beschwert sich der Kunde, dass ein Zip nicht ausgepackt wird

Was ist passiert..... Er zippt Dateien mit Umlauten rein... das sind die Buchstaben "äÄüÜöÖß" kommen im Englishen nicht so oft vor

OK... Wo ist das Problem.... Keine Ahnung also recherchieren!!!

Die Dateinamen werden in einem Zip in der CodePage IBM437 gespeichert.....
Und ich packe Sie in C# mit dem Default.Encoding aus.... Dies führt dazu, dass die im englischen nicht existenten Umlaute nicht richtig decodiert werden.........

Also SourceCode runterladen, ein wenig schauen und dann die Methode StringFromBuffer wie folgt umschreiben:

unsafe internal static string StringFromBuffer(byte[] buf, int start, int maxlength)
        {
           
              int i;
              sbyte[] sb = new sbyte[maxlength];
              for (i = 0; (i < maxlength) && (i < buf.Length) && (buf[i] != 0); i++) {
                 sb[i] = (sbyte) buf[i];
              }
              string s = string.Empty;
              fixed (sbyte* pAsciiChars = sb) {
                 s = new String(pAsciiChars, 0, maxlength, System.Text.Encoding.GetEncoding(437));
              }              
              return s;
           
        }

Bei mir hat es geholft
Gruß JJR
P.S.: Ein wenig unschön mit dem UNSAFED CODE aber was solls!

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

Amazon


Impressum

Firmenname: Peanuts-Soft
Straße Nummer: Biinger Strasse 8
PLZ Ort: 55263 Wackernheim
Telefon: +491772134526
E-Mail: joerg.reck @ peanuts-soft.de
Disclaimer: Peanuts-Soft übernimmt keine Garantie dafür, dass die auf dieser Website bereitgestellten Informationen vollständig, richtig und stets aktuell sind. Dies gilt auch für alle Links, auf die verwiesen wird. Peanuts-Soft ist für die Inhalte, auf die per Link verwiesen wird, nicht verantwortlich. Peanuts-Soft haftet nicht für konkrete, mittelbare und unmittelbare Schäden oder Schäden, die durch fehlende Nutzungsmöglichkeiten, Datenverluste oder entgangene Gewinne – sei es aufgrund der Nichteinhaltung vertraglicher Verpflichtungen, durch Fahrlässigkeit oder eine andere unerlaubte Handlung – im Zusammenhang mit der Nutzung von Dokumenten oder Informationen bzw. der Erbringung von Dienstleistungen entstehen, die auf dieser Web Site zugänglich sind.
Datenschutz: Inhalt und Gestaltung der Internetseiten sind urheberrechtlich geschützt. Eine Vervielfältigung der Seiten oder deren Inhalte bedarf der vorherigen schriftlichen Zustimmung von Peanuts-Soft.


Locations of visitors to this page

Powered By

Domino BlogSphere
Version 3.0.2