Mittwoch, 3. Januar 2007Software und Umlaute vertragen sich nichtTrackbacks
Trackback-URL für diesen Eintrag
Keine Trackbacks
Kommentare
Ansicht der Kommentare:
(Linear | Verschachtelt)
Sehr geehrter Herr Willuhn,
wir freuen uns, Ihnen mitteilen zu durfen, dass in der nachsten Reform der Rechtschreibung Umlaute entfallen werden, ebenso wie das Ligatur-sz. Wir hoffen, Ihnen damit entsprochen zu haben Deutsche Gesellschaft fur Rechtschreibung und Reaktorsicherheit.
Eine Lösung habe ich leider nicht, aber den Hinweis, dass es wohl mehr ein Problem auf Windows-Seite ist als sonst irgendwas. Und mit etwas Glück in Vista endlich bereinigt...
Bis Windows XP erlebt man aber zum Beispiel mit XML blaue Wunder, insbesondere im Zusammenhang mit Netzlaufwerken. Die verhalten sich nämlich bei Windows leider überhaupt nicht transparent. Das hängt vielleicht oder auch nicht damit zusammen, dass Windows bis zur Version XP keine ordentliche Unicode-Unterstützung bietet. Wie so oft bei Microsoft: Man wollte einen eigenen Standard etablieren, und hat deshalb ein Microsoft-Code etabliert, das erste Unicode-Ideen implementiert, es dann aber versäumt, den Standard umzusetzen. Das äußert sich dann, wie folgt. Man speichert ein XML-Dokument lokal, testet das Programm, das das Dokument verarbeitet, und alles läuft bestens. Man sicher das Dokumen auf einem Netzlaufwerk, erhält keine Fehlermeldung beim Speichern, aber plötzlich lauter Fehlermeldungen von nachgelagerten Programmen, die das Dokument weiterverarbeiten sollen. Dann guckt man mit einem Unicode-fähigen Editor das Dokument noch mal an, und siehe da: Viele Sonderzeichen sind durch Schmutzzeichen und Kombinationen davon ersetzt worden. Also noch mal lokal gespeichert, neuer Test. Keine Probleme. Das Problem tritt im Übrigen vor Allem dann auf, wenn man mit einem Windows-Programm die XML-Datei bearbeitet, selbst mit Ultra-Edit kann es passieren, Eclipse baut hier ebenfalls gelegentlich Mist, einschließlich fast aller XML-Plugins. Bisher habe ich nur zwei XML-Editoren gefunden, die mit der merkwürdigen Art, wie Windows mit Unicode umgeht, reibungslos und portabel zurecht kommen: Netbeans 5.5 (und das ist nun wirklich noch nicht alt, in der Vorgänger-Version hat's noch nicht gefunzt!) und JEdit. Naja, vielleicht ist das Zip-Problem ja ähnlich gelagert und verschwindet mit der nächsten Windows-Generation ganz von selbst...? Wäre immer hin möglich! Grüße und alles Gute im Neuen Jahr Alex Bär
Hi Willuhn,
hab momentan genau das gleiche Problem :-(! Ich benutz die ant bibliotheken! Und es will einfach nur mit Cp850 Funktionieren... Bei fast allen anderen Encodings (z.B: ISO-8859-15)werden die Dateiname zwar richtig ausgelesen(getEntries()), aber z.B in WinRar falsch angezeigt... Mit Cp850 gehts über Webstart nicht weil manche clients dieses encoding einfach nicht haben!? Hats Du das Problem evtl. irgendwie gelöst? Würd mich über ne Mail freun!! Viele Grüße Fionn
Nein, eine Loesung hab ich dafuer auch nicht gefunden. Insbesondere auch, weil es ja ein Bug in Java selbst ist (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4244499)
Ich habe das Problem jetzt mit der Ant-Lib gelöst... Ist zwar nicht das sauberste, aber es funktioniert..... Vieleicht hilft es ja jemand weiter :-)
/** Creates a zip file out of a collection of files with Umlate support. */ public static void createZIPWithUmlaute(Collection aFilesCollection, File aDestinationFile) throws ZipException { if (aFilesCollection.size() == 0) return; FileOutputStream tFOS = null; org.apache.tools.zip.ZipOutputStream tJOS = null; try { tFOS = new FileOutputStream(aDestinationFile); tJOS= new org.apache.tools.zip.ZipOutputStream(tFOS); Iterator tFileIterator = aFilesCollection.iterator(); tJOS.setMethod(ZipOutputStream.DEFLATED); tJOS.setEncoding("UTF-8"); // Get the files and Zip them while(tFileIterator.hasNext()) { File tFile = (File)tFileIterator.next(); String tFileName = tFile.getName(); FileInputStream tFIS = null; try { if(tFile.isDirectory()) { org.apache.tools.zip.ZipEntry tZipEntry = new org.apache.tools.zip.ZipEntry(tFileName.replace('\\', '/') + "/"); tJOS.putNextEntry(tZipEntry); tJOS.closeEntry(); } else { tFIS = new FileInputStream(tFile); org.apache.tools.zip.ZipEntry tZipEntry = new org.apache.tools.zip.ZipEntry(tFileName.replace('\\', '/')); tZipEntry.setMethod(ZipEntry.DEFLATED); tJOS.putNextEntry(tZipEntry); IOHelper.copyStream(tFIS, tJOS); tFIS.close(); tJOS.closeEntry(); } } finally { ........
Hi,
warum verwendest Du dann nicht einfach die Schreibweise ohne Umlaute (ue, ae, oe...)? Das sollte das Problem doch loesen, oder? Viele Grüße Manfred
Das wollte ich eigentlich vermeiden, werde es aber wohl so loesen muessen.
Habs jetzt so umgebaut, dass keine Umlaute mehr in den Dateinamen verwendet werden und eine aktualisierte Release hochgeladen.
|
KalenderaboutSuche |