Andernfalls schreiben die deutschen 'Umlaute' (äöü) von der Konsole in eine Textdatei mit java

derzeit bin ich verzweifelt versucht, zu schreiben, Umlaute, Lesen von der Konsole in utf-8-kodierte text-Datei auf windows 7.

Hier ist der code, um den setup-scanner:

Scanner scanner = new Scanner(System.in, "UTF8");

Hier ist der code zum Lesen der Zeichenfolge:

String s = scanner.nextLine();

Hier ist der code zum schreiben in eine Datei:

    OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(this.targetFile), "UTF8");

osw.write(s);

Leider, statt z.B. "überraschung", die so geschrieben-Datei ist in utf8 kodiert, aber nicht die Anzeige der Umlaute. Was ist zu tun?

was meinst du mit "die Datei wird nicht angezeigt, das umlaut" ? Wie zeigen Sie die resultierende Datei, und was sehen Sie genau ?
Ich öffnen Sie die resultierende Datei in einem beliebigen text-editor (Notepad++ oder Notepad, beide zeigen das gleiche). Statt der Umlaute sehe ich einen Platzhalter-Zeichen wie ein leeres Rechteck oder ein Quadrat mit einem questionmark.
sind Sie sicher, dass die Konsole die Eingabe in utf-8 kodiert? Hat die schriftart, die Sie verwenden, um die Ausgabe anzuzeigen support Umlaute? Funktioniert der editor, den Sie verwenden, unterstützt die utf-8?
100% sicher. Notepad++ zeigt die Datei als utf8-codiert und ich kann hinzufügen, dass Umlaute manuell mit dem editor. Außer Scanner scanner = new Scanner(System.in, "UTF8"); ich weiß nicht, wie sonst konnte ich das Signal auf utf8.
Versuchen Sie, diese Linie, die System.out.println(s.contains("ü"));, wenn es true es ist Notepad++ Fehler, wenn er sagt: false System.in nicht utf-8.

InformationsquelleAutor yan.kun | 2010-10-05

Schreibe einen Kommentar