tomi
Mitglied
Hallo,
also ich hab folgende Lage. Mit Hilfe eines Konverter-Servlets erzeuge ich Dateien auf einem Server, die ich mittels OutputstreamWriter mit UTF-8 kodiere. Anschließend lese ich diese Dateien per InputStreamReader(file,"UTF-8") wieder aus und gebe den Inhalt einmal in einem Textfeld und einmal in einer Datei aus, die heruntergeladen werden kann. Dabei verweise ich nciht direkt auf die File auf dem Server, sondern erzeuge "on-the-fly" eine neue Datei zum herunterladen:
Die Datei die ich runterlade kann ich mit HIlfe eines Editor (Dreamweaver) öffnen, dort wird auch rechts unten angegeben, dass die Datei Unicode (UTF-8) kodiert ist. Zudem werden alle Umlaute usw. korrekt angezeigt.
Wenn ich jetzt allerdings diese Datei auf einen Webhost lade und dann öffnen will habe ich zwei Probleme:
1. die Umlaute/Sonderzeichen von Unicode werden nicht korrekt angezeigt
2. wenn ich z.B. mit dem Validator vom W3c http://validator.w3.org die hochgeladene Datei überprüfen möchte, sagt mir der Validator dass es nicht um eine korrekte XML File handelt und die Kodierung nicht erkannt werden konnte. Wenn ich allerdings den Inhalt der File direkt in das Validator Textfeld (Direct-Input) kopiere, dann funktioniert es.
Ich wäre euch sehr dankbar, wenn ihr mir sagen könntet, wo genau ich den Fehler mache und was falsch ist.
VIelen Dank und beste Grüße!
also ich hab folgende Lage. Mit Hilfe eines Konverter-Servlets erzeuge ich Dateien auf einem Server, die ich mittels OutputstreamWriter mit UTF-8 kodiere. Anschließend lese ich diese Dateien per InputStreamReader(file,"UTF-8") wieder aus und gebe den Inhalt einmal in einem Textfeld und einmal in einer Datei aus, die heruntergeladen werden kann. Dabei verweise ich nciht direkt auf die File auf dem Server, sondern erzeuge "on-the-fly" eine neue Datei zum herunterladen:
Code:
FileInputStream fis = new FileInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(fis,"UTF-8"));
response.setContentType("text/xml; Charset=UTF-8");
response.setHeader("Content-Disposition", "attachement; filename=semanticweb.rss");
String line;
while((line = br.readLine())!=null) {
out.println(line);
}
br.close();
Die Datei die ich runterlade kann ich mit HIlfe eines Editor (Dreamweaver) öffnen, dort wird auch rechts unten angegeben, dass die Datei Unicode (UTF-8) kodiert ist. Zudem werden alle Umlaute usw. korrekt angezeigt.
Wenn ich jetzt allerdings diese Datei auf einen Webhost lade und dann öffnen will habe ich zwei Probleme:
1. die Umlaute/Sonderzeichen von Unicode werden nicht korrekt angezeigt
2. wenn ich z.B. mit dem Validator vom W3c http://validator.w3.org die hochgeladene Datei überprüfen möchte, sagt mir der Validator dass es nicht um eine korrekte XML File handelt und die Kodierung nicht erkannt werden konnte. Wenn ich allerdings den Inhalt der File direkt in das Validator Textfeld (Direct-Input) kopiere, dann funktioniert es.
Ich wäre euch sehr dankbar, wenn ihr mir sagen könntet, wo genau ich den Fehler mache und was falsch ist.
VIelen Dank und beste Grüße!