Umlaute in Eclipse einlesen funktioniert nicht

Bitte aktiviere JavaScript!
Guten Tag!
Ich weiß, das Thema gab es hier schon ein paar mal. Ich habe die Antworten allerdings alle erfolglos ausprobiert.

Problem:
Umlaute (wie ö,ä,ß,...) funktionieren super in Eclipse selber, aber wenn ich sie über den Scanner einlese kommt sowas wie ä = ä; ö = ö; ß = ß; etc.

Ich habe bereits versucht unter Window > Preferences > ... UTF-8 einzustellen, aber das funktioniert nicht.
Scanner s = new Scanner(System.in, "ISO-8859-1"); auch nicht.


Für Hilfe wäre ich sehr dankbar!
 
A

Anzeige


Vielleicht hilft dir dieser Kurs hier weiter: (hier klicken)
Unter Recource gibt's nur "Linked Recources" und "Recouce Filters". Aber auch die Suche unter "Properties" findet kein "Text File Encoding".


Danke für die Antwort!
 
Das Encoding in Eclipse (Texteditoren) und das Encoding in einem Java-Programm, das in Eclipse gestartet wird, sind zwei verschiedene Angelegenheiten.

In einem Programm benutzt man meist einen Reader, der Zeichencodes von der 8-bit-Datei-Welt (InputStream) in die 16-bit-Java-Character-Unicode-Welt übersetzt.
 
Genau. Bei den Zeichen handelt es sich mit an Sicherheit grenzender Wahrscheinlichkeit um originär UTF-8-kodierte Zeichen, die CP1252 kodiert wurden. Eine Frage wäre, ob das tatsächlich bei der Eingabe passiert.

@Tabkas Deine Problembeschreibung ist leider recht dürftig. Es wäre an der Zeit, dass Du hier mal kurzen Beispielcode zeigst und genau erklärst, unter welchen Bedingungen das Problem auftritt.

Beim Posten von Code bitte Code-Tags verwenden: [code=Java]Dein Code[/code]
 
Genau. Bei den Zeichen handelt es sich mit an Sicherheit grenzender Wahrscheinlichkeit um originär UTF-8-kodierte Zeichen, die CP1252 kodiert wurden. Eine Frage wäre, ob das tatsächlich bei der Eingabe passiert.

@Tabkas Deine Problembeschreibung ist leider recht dürftig. Es wäre an der Zeit, dass Du hier mal kurzen Beispielcode zeigst und genau erklärst, unter welchen Bedingungen das Problem auftritt.

Beim Posten von Code bitte Code-Tags verwenden: [code=Java]Dein Code[/code]
Ich kann das Problem mit folgendem Code nachstellen:

Code:
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in, "Cp1252");
        while (true){
            String s = scanner.next();
            if(s.equals("q")) break;
            System.out.println(s);
        }
        System.out.println("Bye...");
        scanner.close(); 
    }
Indem ich in der von mir beschriebenen Methode das Projekt auf UTF-8 umstelle.

Code:
öäüß
öäüß
 
Java:
import java.util.Scanner;
public class test {


    public static void main(String[] args) {
       
        Scanner l = new Scanner(System.in, "Cp1252");

        System.out.println(l.nextLine());
       
    }

}

Vielen Dank für die tollen Antworten!

Bei dem Code zB funktioniert es nicht. Ebenso bei "Scanner l = new Scanner(System.in);".

Das Text file enconding habe ich jetzt auf "CP1252" umgestellt.


Ausgabe nachdem ich "ä" einlese ist zwar nun anders, aber auch nicht besser:
ä
Oder ein "ö":
ö



Vielen Dank!
 
Bei mir (Eclipse, Linux) taucht das Problem auf, wenn das Encoding der Run Configuration auf UTF-8 gestellt ist und ich mit CP1252 einlese.
 
So, ist jetzt ein wenig her, aber:

Das hat leider alles nicht funktioniert, auch nicht der letzte Stackoverflow-Link.

Ich habe jetzt einfach eine umlaute() Methode geschrieben, die aus dem, was der Scanner übernommen hat, wieder die Umlaute macht, die hätten eingelesen werden sollen.
Es funktioniert auch.


Also vielen Dank trotzdem an euch alle für eure Hilfe!!
Schön' Abend noch
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben