Keine Umlaute im Dos Fenster

tuttle64

Bekanntes Mitglied
Wenn ich folgende Anweisung innerhalb von Eclipse laufen lassen, dann werden die Umlaute korrekt ausgegeben.

Code:
System.out.println("Umlaute: äöü");

Rufe ich die Klasse direkt über ein Konsolenfenster auf, erscheint


Wie kriege ich es hin, dass die Umlaute richtig erscheinen?
 
Hi,
ich meine man kann bei Strings bei der Erstellung angeben in welchem Format sie sind. Und dann müsste es gehen.

Java:
String myString=new String(utf8, "UTF-8");

String()

Wenn du da dann den richtigen Charset angibst müsste es richtig ausgegeben werden.
 
Ich geh einfach mal davon aus, dass das nicht geht.. Sonst könntest du einfach alle Symbole von 0-255 ausgeben im Fenster und dir dann eine Art Lookup-Table schreiben, immer mit nem char z.B. 'ä' als key und einem char, der in der Kommandozeile als 'ä' ausgegeben wird.. Ist es aber IMHO nicht wert. Sonst könntest du dir noch eine eigene Konsole programmieren, mit JFrame, JTextArea usw.. Ist aber dadurch nicht mit allem kompatibel, da manche ja System.out verwenden, und das kann man ja nicht so leicht umlenken (€dit: Tatsache, die lassen sich leicht umstellen)

TryToHelp: Deine Lösung funktioniert nicht mit UTF-8 - Das wird dann als "?" dargestellt..
 
Zuletzt bearbeitet:
Das Problem ist hier nicht Java, sondern bei jeder Software, die Output über die Konsole generiert z.B. den Oracle Listener mit der Eingabe status:

hat 1 Handler f³r diesen Dienst...

Ist ja echt ätzend! Ich werde es einmal mit der PowerShell versuchen und berichten.
 
CMD.exe und auch die PowerShell laufen beide mit CP850 ... windows verwendet CP1252 ... und java nun mal UTF-8 ... ergo : ENCONDING FEHLER !

es ist NICHT möglich utf-8 sonderzeichen *was der compiler aus "äöü" macht* korrekt auf nem win-terminal auszugeben ...
 
font geändert und
JAgVr.png

soviel zu nicht möglich
 
probier mal 65001, das oracle nutzt wohl ein anderes encoding

Code page - Wikipedia, the free encyclopedia

bzw öffnet oracle seine console selber, oder machst du sei vorher auf und startest dann oracle in der console? (nach chcp xy)

Es handelt sich um Oracle Express. Die Konsole öffne ich selbst, dann gebe ich chcp 65001 und starte dann lsnrctl. Ich wollte damit nur ein Beispiel aus einem Buch "Oracle Express Edition" von S. Heitsiek nachvollziehen. Mit status in lsnrctl sieht man, ob der Oracle Listener gestartet ist. Klar, den Service sieht man auch über Verwaltung -> Dienste.

Leider hat chcp 65001 auch nicht weitergeholfen.

Die folgenden Vorgõnge sind m÷glich.

Das Problem ärgert mich schon seit Langem. Seit ich mit Oracle mit der Kommandozeile arbeite, möchte ich es gerne fixen. Das Problem ist ja, dass die Konsole den Zeichensatz von DOS und nicht ASCII benutzt. S*ss DOS.
 
und lsnrctl startest du aus diesem konsolenfenster herraus?
oracle schreibt dann das falsch codierte in die gleiche offene mit java funktionierende konsole?

eventuell setzt oracle auch einfach, weil es windows erkennt irgendein encoding
 

Zurück
Oben