Jörg Peschke: Zeichen-Kodierung von Verzeichnissen

Beitrag lesen

Hallo,
Ich komm hier an einer Stelle mit Umlaut-Kodierung nicht weiter, vielleicht kann mir jemand helfen:

Folgendes Szenario:

1.) Linux-SAMBA-Fileserver, benutzt offenbar keine spezielle Kodierung von Umlauten (locale zeigt überall POSIX an), ein "ls" auf Dateien mit Umlauten gibt Zeichensalat.

2.) Zugriff über Windows (per SAMBA) zeigt Dateien aber richtig an (mit Umlauten)

3.) Auf diesem Server soll eine Java-Webserver-Anwendung laufen, die Verzeichnisse einliest.

Problem: Das Teil gibt nur Zeichensalat aus. Mein (erfolgloser) Versuch, den Dateinamen und Pfad umzukonvertieren wie folgt:

  
String toUTF8 = "";  
Charset charset = Charset.forName("ISO-8859-1");  
CharsetDecoder decoder = charset.newDecoder();  
try {  
  byte [] baseString = new String(dateiname).getBytes("ISO-8859-1");  
  
ByteBuffer bbuf = ByteBuffer.wrap(baseString);  
CharBuffer cbuf = decoder.decode(bbuf);  
toUTF8 = cbuf.toString();  
} catch (CharacterCodingException e) {  
   throw new Exception ("Kann Zeichensatz nicht konvertieren: "+e.getMessage());  
}  

4.) Auch CP152 anstelle von ISO-8859-1 führt zu keinem Erfolg

5.) Auf einem Windows-System macht die Java-Anwendung alles genau wie sie soll.

6.) Umstellen des Zeichensatzes auf dem Fileserver würde ich nur ungern machen, da ich nicht weiss, auf was das alles Auswirkungen hat.

any Ideas?

Danke schonmal,

Joerg