Java Umlaute ersetzen Scanner?

...komplette Frage anzeigen

2 Antworten

Sofern du Umlaute verwendest, wäre es vielleicht besser ein anderes Encoding beim Lesen der Daten zu verwenden:

Scanner s = new Scanner(System.in, "ISO-8859-1");
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von sako14
22.09.2016, 12:51

Vielen Dank! Eigentlich könnte ich auch nur Scanner s = new Scanner(System.in); machen oder ?

0

Vielleicht ist deine .java ja nicht UTF-8 sondern ANSI mit Umlauten? Versuch doch mal die \\\\uHEX0 Kombinationen statt den reinen Zeichen. Du könntest du einfach eine Bestätigung zu haben dir ja auch mal die Charcodes ausgeben lassen ((int)DeinString.charAt(index))

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von KnusperPudding
22.09.2016, 13:13

Nur wenn der Scanner bereits die Zeichen beim lesen 'nicht versteht', wird es zu einem Problem...

Da mit UTF-8 gelesen wird, ist die Information bereits vor der 'Weiterverarbeitung' verloren, denn die Umlaute werden durch ein kryptisches Zeichen ersetzt, aus dem kein \uHEX mehr lesbar ist.

0

Was möchtest Du wissen?