Hallo Leute,
ich programmiere gerade etwas auf Basis von Glassfish und Primefaces und verzweifle an der Zeichensatzkonvertierung der Dateinamen.
Ich programmiere auf einem MacBookPro unter Netbeans 7.2
Das Problem ist, dass ich einen FileUpload (Primefaces + commons.fileupload) programmiert habe und alles funktioniert bis auf die Sonderzeichen in Dateinamen.
Ich lasse Glassfish sowohl unter OS X als auch unter einem Ubuntu-Linux zum testen laufen.
Beide Male funktioniert der Upload aber die Dateien werden falsch benannt sobald Sonderzeichen enthalten sind. Aus "Überraschung" wird z. B. "?berraschung". Alles Umlaute werden durch "?" ersetzt.
In der Datenbank und im Browser wird der Dateiname korrekt ausgegeben. Nur im Filesystem nicht.
Das führt dazu, dass ich Dateien nicht mehr löschen kann, da die Datei nicht mehr gefunden wird.
Das Problem mit dem MacFilesystem und UTF-8 ist mit bekannt aber ich komme auf keinen Workaround. Ebenso die Problematik mit commons.fileupload. Ich habe sogar den EncodingFilter von PrimeFaces drin und trotzdem funktioniert es nicht.
Eine Compileroption der JVM des GF hat auch nichts geholfen.
Locale auf dem Mac alles auf "de_DE.UTF-8". Ebenso auf Linux.
ein getDefaultLocale() während des Verarbeiten des Upload bringt auf dem Mac "de_DE.UTF-8" und auf Linux "en_US".
Hat jemand eine spontane Idee? Mich macht das grad völlig kirre ;-)
Hüüüülfeeeeee und Danke im Voraus....LG Chris
ich programmiere gerade etwas auf Basis von Glassfish und Primefaces und verzweifle an der Zeichensatzkonvertierung der Dateinamen.
Ich programmiere auf einem MacBookPro unter Netbeans 7.2
Das Problem ist, dass ich einen FileUpload (Primefaces + commons.fileupload) programmiert habe und alles funktioniert bis auf die Sonderzeichen in Dateinamen.
Ich lasse Glassfish sowohl unter OS X als auch unter einem Ubuntu-Linux zum testen laufen.
Beide Male funktioniert der Upload aber die Dateien werden falsch benannt sobald Sonderzeichen enthalten sind. Aus "Überraschung" wird z. B. "?berraschung". Alles Umlaute werden durch "?" ersetzt.
In der Datenbank und im Browser wird der Dateiname korrekt ausgegeben. Nur im Filesystem nicht.
Das führt dazu, dass ich Dateien nicht mehr löschen kann, da die Datei nicht mehr gefunden wird.
Das Problem mit dem MacFilesystem und UTF-8 ist mit bekannt aber ich komme auf keinen Workaround. Ebenso die Problematik mit commons.fileupload. Ich habe sogar den EncodingFilter von PrimeFaces drin und trotzdem funktioniert es nicht.
Eine Compileroption der JVM des GF hat auch nichts geholfen.
Locale auf dem Mac alles auf "de_DE.UTF-8". Ebenso auf Linux.
ein getDefaultLocale() während des Verarbeiten des Upload bringt auf dem Mac "de_DE.UTF-8" und auf Linux "en_US".
Hat jemand eine spontane Idee? Mich macht das grad völlig kirre ;-)
Hüüüülfeeeeee und Danke im Voraus....LG Chris