Umlaute

Ich lese ein paar Zeilen aus ner Datei aus.
das sieht ungefähr so aus ä ..... Nun les ich das ä mittels scanner.next() ein (encoding gesetzt auf utf-8). zurück kommt dann een dieses \u9429 (keine Ahnung was genau). wie kann ich daraus ein char machen? ich will nämlich den char ‘ä’ und nicht den String ä. Kann mir bitte jemand helfe? ich sitze hier seit ner Stunde dran und schaff es einfach nicht. Der Text wird auf der Windows-Konsole ausgegeben…

Das ist ein Unicode, und entspricht irgend einem komischen chinesischen Schriftzeichen.

Ein char kannst du per Scanner so einlesen:

char c = scanner.next().charAt(0);```

Warum das ganze mit deiner Datei nicht funktioniert kann man schwer sagen, dazu müsstest du die (zusammen mit etwas Code) mal posten.

Wie sieht die Stelle in der Datei denn als HEX aus?

bye
TT

Ich lese einfach jede Zeile einzeln ein. Ja ich weiß dass das Unicode ist, aber trotzdem :smiley: ich hab hier auch scanner.next().charAt(0) stehen, nur ich bekomme einen Backslash zurück.
Hier als HEX: 5c 7530 3046 43 → \u00fc (ü)

Dann steht das auch so in der Datei drin.

Ist das zufällig eine per Editor erstelle properties-Datei, die du händisch parst? Dort werden Umlaute ggf. automatisch maskiert.

ja, mit sublime text. soll ich einfach mal den windows editor nehmen?

*** Edit ***

so, gerade mal geändert. ja sie wurden maskiert. Jetzt habe ich aber Fragezeichen anstelle von backslashes. Ist zwar ein Fortschritt aber immer noch ausbaufähig…

*** Edit ***

ok, gerade noch kein encoding eingestellt beom Scanner und alles lief. Danke euch :smiley:

das ist die richtige Einstellung :smiley: