Search the FirstSpirit Knowledge Base
Hallo zusammen,
ich habe eine Frage, denn wir haben in einem Projekt Probleme mit Umlauten in Dateinamen. Dabei verwenden wir die Einstellung "Advanced URLs" in der Generierung (kein URL-Creator Modul). Das sieht eigentlich auch alles erstmal gut aus, Umlaute kommen dabei lesbar heraus, z.B. "Über-uns.html". Bloß bei der Verarbeitung in hybris werden die dann irgendwann als "��ber-uns.html" eingelesen und damit unbrauchbar.
Eigentlich ziemlich genau der Fehler, der in diesem Artikel beschrieben wird: Java and File Names With Invalid UTF-8 – The Mindful Programmer
Aber ich denke eigentlich, dass FirstSpirit schon UTF-8 generiert. Das ist einerseits im Sprachkanal so eingestellt und ich habe in der fs-wrapper.conf diesen Eintrag gefunden:
wrapper.java.additional.4 -Dfile.encoding=UTF-8
Nur um sicher zu gehen. Interpretiere ich das richtig oder gibt es noch irgendwelche anderen Einstellungen, mit denen man das Encoding der erzeugten Dateinamen beeinflussen kann?
Viele Grüße
Matthias
Hallo Matthias,
ich glaube, dass das ein Betriebssystem Problem ist.
FirstSpirit muss [wenn entsprechende Dateien erzeugt werden sollen] mit einem locale gestartet werden, welches UTF-8 konform ist, z.B. LANG=en_US.UTF-8
Kannst Du bitte prüfen, ob dies gegeben ist [also der User, der die Dateien an der defekten Stelle erzeugt, ein entsprechendes Locale zur Verfügung hat]?
Hinweis: Die betroffene Stelle ist die, an der es das erste Mal "kaputt" geht.
Reihenfolge, in der die Dateinamen zu prüfen sind, wäre somit:
fs5staging --> Verzeichnis, in das die Daten veröffentlicht werden --> Verzeichnis, aus dem die Daten verwendet werden.
HInweis: Auch für die Nutzung/Prüfung muss die entsprechende User-Session über ein passendes Locale verfügen.
Viele Grüße aus Dortmund,
Holger
Ergänzung:
inzwischen haben wir herausgefunden, dass die Datei-Inhalte UTF-8 kodiert sind, die Dateinamen aber nicht, die sind ISO-8859-1.
Kann man das auch noch irgendwo einstellen?
Gibt's da vielleicht ein -Dfilename.encoding=UTF-8 oder sowas?
Grüße
Matthias
Hallo zusammen,
da bislang nichts weiter kam, hier nochmal ein Update von mir. Inzwischen haben wir rausgefunden, dass die Dateinamen noch nicht einmal einheitlich mit ISO-8859-1 kodiert wurden, sondern wild durcheinander, da ist auch "ISO-8859-2" dabei, "ascii" und "windows-1252" - nur kein utf-8. Der Verdacht liegt nahe, dass das willkürlich vom Betriebsystem (Windows) festgelegt wird.
Gibt es wirklich keine Möglichkeit, das zu beeinflussen?
Danke für nützliche Tipps.
Grüße
Matthisa
Hallo Matthias,
In dem Artikel wird einen Umgebungsvariable gesetzt, die es leider nur unter unixartigen Betriebssystemen gibt. Ich hab mal etwas gegoogelt und bin auf sun.jnu.encoding gestoßen. Inspired by Actual Events: Java May Use UTF-8 as Its Default Charset und http://mail.openjdk.java.net/pipermail/jdk8-dev/2012-November/001618.html
Erweitere mal deine wrapper config um: -Dsun.jnu.encoding=utf8
Ich sehe das selbst zum ersten mal! Wenn es klappt, würde ich mich über eine positive Rückmeldung freuen.
Gruß Thorsten
Hallo Matthias,
konnte dir das schon irgendwie weiterhelfen?
Gruß
Thorsten
Hallo Matthias,
ich glaube, dass das ein Betriebssystem Problem ist.
FirstSpirit muss [wenn entsprechende Dateien erzeugt werden sollen] mit einem locale gestartet werden, welches UTF-8 konform ist, z.B. LANG=en_US.UTF-8
Kannst Du bitte prüfen, ob dies gegeben ist [also der User, der die Dateien an der defekten Stelle erzeugt, ein entsprechendes Locale zur Verfügung hat]?
Hinweis: Die betroffene Stelle ist die, an der es das erste Mal "kaputt" geht.
Reihenfolge, in der die Dateinamen zu prüfen sind, wäre somit:
fs5staging --> Verzeichnis, in das die Daten veröffentlicht werden --> Verzeichnis, aus dem die Daten verwendet werden.
HInweis: Auch für die Nutzung/Prüfung muss die entsprechende User-Session über ein passendes Locale verfügen.
Viele Grüße aus Dortmund,
Holger
Hallo Matthias,
ist deine Frage noch offen oder konnte Holger dir weiterhelfen?
In diesem Fall wäre es toll, wenn du seine "richtige Antwort" entsprechend markierst.
Viele Grüße
Michaela
Hallo zusammen,
ich hatte leider bislang noch nicht die Möglichkeit, die Vorschläge auszuprobieren. Wir haben das einfachste gemacht, nämlich auf Default-URLs umgestellt und somit werden keine Sonderzeichen mehr generiert. Aber ich werde das gegen Ende des Jahres sicher nochmal ausprobieren, wenn wieder etwas mehr Luft ist.
Vielen Dank für die Hilfe!
Grüße
Matthias
Hallo Forbi,
gib uns dann einfach Bescheid. Und viele Grüße an die alten Hasen
Viele Grüße
Elmar
Frohes neues Jahr Matthias,
ist das Thema hier noch offen? Konntest du das evtl. in einer freien Minute während der Feiertage anschauen?
Viele Grüße
Martin