Hallo Community
Ich tüftle jetz scho eine ganze weile an einem Problem mit der Koodierung einer Datei. Folgendes Szenario ist gegeben. Ich selektiere Daten aus einer MYQSL Datenbank dessen Kodierung windows-1252 ist. Meine IDE ist auch auf windows-1252 eingestellt. Ich schreibe die Daten dann wie folgt in eine Datei!
Das Phänomen ist das er das Ö und das € Zeichen durch ? ersetzt. Ich habe dann ein wenig gegooglet und herausgefunden das eben Zeichen die nicht im Charset vorhanden sind oder konvertiert werden können eben durch
ein sogenanntes Ersetzungszeichen so behandelt werden. Ich verstehe das aber nicht ganz da das Ö und das € Zeichen durchaus im Zeichensatz von windows-1252 vorhanden sind. Wo liegt hier der Fehler bzw was mache ich falsch?
Ich habe dann einmal versucht das Default File Encoding der VM so zu ermitteln
und habe folgenden Wert erhalten ANSI_X3.4-1968. Auch das ändern in ISO-8859-1 oder windows-1252 bringt nichts. Ich erhalte immer die ? in meiner Datei!
Vielen Dank für die Hilfe im Vorraus!
Ich tüftle jetz scho eine ganze weile an einem Problem mit der Koodierung einer Datei. Folgendes Szenario ist gegeben. Ich selektiere Daten aus einer MYQSL Datenbank dessen Kodierung windows-1252 ist. Meine IDE ist auch auf windows-1252 eingestellt. Ich schreibe die Daten dann wie folgt in eine Datei!
Code:
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream("foo.csv"), "windows-1252"));
writer.write("Das ist ein Ö und in € Zeichen");
write.close();
Das Phänomen ist das er das Ö und das € Zeichen durch ? ersetzt. Ich habe dann ein wenig gegooglet und herausgefunden das eben Zeichen die nicht im Charset vorhanden sind oder konvertiert werden können eben durch
ein sogenanntes Ersetzungszeichen so behandelt werden. Ich verstehe das aber nicht ganz da das Ö und das € Zeichen durchaus im Zeichensatz von windows-1252 vorhanden sind. Wo liegt hier der Fehler bzw was mache ich falsch?
Ich habe dann einmal versucht das Default File Encoding der VM so zu ermitteln
Code:
String defaultEncodingName = System.getProperty( "file.encoding" );
und habe folgenden Wert erhalten ANSI_X3.4-1968. Auch das ändern in ISO-8859-1 oder windows-1252 bringt nichts. Ich erhalte immer die ? in meiner Datei!
Vielen Dank für die Hilfe im Vorraus!