Seltsames Problem bei der Codierung von Dateinamen mit Ubuntu / Java / Glassfish

8

Ich habe eine Java-Anwendung auf Glassfish-Webserver auf Ubuntu Server Edition PC bereitgestellt.

Einer der von dieser Anwendung bereitgestellten Dienste besteht darin, ein ISO-Abbild in einem bestimmten Ordner bereitzustellen und den gesamten Inhalt dieses Ordners an ein anderes Ziel zu kopieren.

Da meine Java-Methode einen kyrillischen Dateinamen gefunden hat, ist er abgestürzt. Dieser Dateiname wird in Serveranwendungsprotokollen als "???????????????. Txt" angezeigt.

Zuerst dachte ich, das wäre ein Linux-Problem, weil diese Datei auch im Terminal falsch angezeigt wird. Nachdem ich das CP1251-Gebietsschema hinzugefügt habe, hat das Problem in Linux-Terminal gelöst, aber meine Anwendung warf einen Fehler.

Ein Typ bei UbuntuForums (http://ubuntuforums.org/showthread.php?t=1813920) hat mir vorgeschlagen, diese fehlerhafte Datei mit dem Dienstprogramm "convmv" zu konvertieren, aber die Ausgabe dieses Dienstprogramms besagt, dass diese Datei bereits eine UTF-Datei war. 8.

Danach habe ich mit den gleichen Methoden eine Testanwendung erstellt und auf dem gleichen PC ausgeführt, aber genau wie "Java Test $ arguments $".

Und es hat funktioniert!

Die einfache Methode System.out.println hat den Dateinamen korrekt angezeigt und die Problemdatei erfolgreich in einen anderen Ordner kopiert.

Diese Tatsache ließ mir keine andere Wahl, als Glassfish für die Lücke zwischen meiner Klasse, Java und Linux (obwohl ich nicht sicher bin, wie es möglich ist) zu behaupten.

Gibt es in Glassfish irgendwelche Zeichencodierungseinstellungen, die ich korrigieren könnte, um diesen Fehler zu beheben, oder vielleicht fehlt mir etwas und das Problem ist nicht wirklich da?

Vielen Dank im Voraus!

Andrew

    
Andrew 22.08.2011, 18:21
quelle

1 Antwort

1

Versuchen Sie, Charset.defaultCharset() zu ändern. Weitere Informationen finden Sie unter Festlegen der standardmäßigen Java-Zeichencodierung? .

Siehe auch Glassfish-Konfiguration wie

In sun-web.xml Sie müssen etwas wie folgt sehen:

%Vor%     
alexsmail 09.01.2012 23:06
quelle

Tags und Links