Hallo zusammen,
ich habe folgendes Problem:
ich lese ein varchar-Feld in dem Umlaute stehen aus eine oracle DB aus. das mache ich zum einen direkt aus einer jsp-seite heraus (nicht meine idee ) und zeige das an. die umlaute werden richtig dargestellt.
eine ander funktion ruft von der jsp seite ein servlet auf welches eine java-klasse startet die das gleiche feld ausliest, zu einem zip-file packt und in den outstream des servlet schreibt un es dem user als download anbietet.
das problem ist das in dem file was der user bekommt keine umlaute mehr stehen. nur ??? .
ich hab mal folgendes getestet:
File outputFile = null;
FileOutputStream fileOut = null;
Writer testWriter = null;
try{
outputFile = new File("server/tomcat/jakarta-tomcat-4.0.2/logs/umlautest.txt");
//outputFile = new File("D:\\downloads\\umlautest.txt");
fileOut = new FileOutputStream(outputFile);
testWriter = new OutputStreamWriter(fileOut, "ISO-8859-1");
} catch(FileNotFoundException e) { System.err.println(e); }
testWriter.write("Umlaute: Ä ä Ö ö Ü ü ß");
testWriter.close();
und da kommen auch nur ? an.
führe ich das lokal aus gehts. schreibe ich den test direkt in eine jsp seite gehs auch. also umlaute kommen an. nur eben nicht wenn es über die java-klasse im tomcat läuft nicht.
wär super wenn jemand ne idee hat.
dachte daran ob man in der db-connection oder dem statement das charset ändert, aber das geht irgendwie nicht. hat keine auswirkungen.
danke schon mal
Flo
ich habe folgendes Problem:
ich lese ein varchar-Feld in dem Umlaute stehen aus eine oracle DB aus. das mache ich zum einen direkt aus einer jsp-seite heraus (nicht meine idee ) und zeige das an. die umlaute werden richtig dargestellt.
eine ander funktion ruft von der jsp seite ein servlet auf welches eine java-klasse startet die das gleiche feld ausliest, zu einem zip-file packt und in den outstream des servlet schreibt un es dem user als download anbietet.
das problem ist das in dem file was der user bekommt keine umlaute mehr stehen. nur ??? .
ich hab mal folgendes getestet:
File outputFile = null;
FileOutputStream fileOut = null;
Writer testWriter = null;
try{
outputFile = new File("server/tomcat/jakarta-tomcat-4.0.2/logs/umlautest.txt");
//outputFile = new File("D:\\downloads\\umlautest.txt");
fileOut = new FileOutputStream(outputFile);
testWriter = new OutputStreamWriter(fileOut, "ISO-8859-1");
} catch(FileNotFoundException e) { System.err.println(e); }
testWriter.write("Umlaute: Ä ä Ö ö Ü ü ß");
testWriter.close();
und da kommen auch nur ? an.
führe ich das lokal aus gehts. schreibe ich den test direkt in eine jsp seite gehs auch. also umlaute kommen an. nur eben nicht wenn es über die java-klasse im tomcat läuft nicht.
wär super wenn jemand ne idee hat.
dachte daran ob man in der db-connection oder dem statement das charset ändert, aber das geht irgendwie nicht. hat keine auswirkungen.
danke schon mal
Flo
Comment