Eingabeaufforderung stellt Umlaute nicht dar

Status
Nicht offen für weitere Antworten.

StephanV

Mitglied
Hallo Forum,

ich benötige mal Hilfe von Profis.
Ich lerne Java in der UNI, auf meinem Notebook habe ich Windows XP SP 3 installiert und die Java JDK 1.6.05 sowie das JRE 1.6.07 installiert. Da ich zurzeit das Programm lerne verzichte ich auf Tools wie Eclipse oder Netbeans. Zum codieren nutze ich NOTEPAD ++.
Jetzt habe ich ein Programm geschrieben, dass dem User in der Eingabeaufforderung ein Auswahlmenü mit 10. Auswahlpunkten zur Verfügung stellt.

Leider werden die Umlaute von Ändern nicht dargestellt, wie das folgende Beispiel zeigt:

aufsteigende Sortierung: Matrikelnummer
0. Programm beenden
1. Liste neu anlegen und vorbelegen
2. Liste ausgeben
3. Liste sortieren (Selection)
4. Liste sortieren (Insertion)
5. Liste sortieren (Bubble)
42. Sortierordnung õndern
43. Sortierrichtung õndern
Eingabe: 0

Ich weiß, das ich das Programm mit: L:\>java -Dfile.encoding=cp850 KlassenName aufrufen kann. Dann sieht das Menü richtig aus.

aufsteigende Sortierung: Matrikelnummer
0. Programm beenden
1. Liste neu anlegen und vorbelegen
2. Liste ausgeben
3. Liste sortieren (Selection)
4. Liste sortieren (Insertion)
5. Liste sortieren (Bubble)
42. Sortierordnung ändern
43. Sortierrichtung ändern
Eingabe:

Verschiedene Registry-Einträge blieben bis jetzt erfolglos. Wenn ich in der Eingabeaufforderung ein Umlaut eingeben wird es richtig angezeigt.

Jetzt meine Frage an Euch:
Gibt es in Java Einstellungsmöglichkeiten oder wisst Ihr was ich tun muss, damit ich nicht jedesmal diesen sch... Befehlszusatz mit eingeben muss. Über konstruktive Vorschläge wäre ich Euch wirklich dankbar.

Danke und Gruß
StephanV
 

mahe

Aktives Mitglied
Du kannst Dir eine Batch-Datei schreiben die Java mit dem richtigen Parameter aufruft.
 

Fu3L

Top Contributor
Du kannst dir ein Object vom Typ Console (aus java.io) besorgen und damit arbeiten:

Code:
Console cons = System.console();
cons.printf("äüöß-test");
 

StephanV

Mitglied
Hallo mahe,

vielen Dank für die Antwort. Das mit der Batchdatei leuchtet mir ein, aber warum haben manche Rechner diese Probleme und manche nicht? In der Uni haben die Rechner keine Probleme Umlaute darzustellen, auch das Notebook unseres Professors hat dieses Problem nicht. Allerdings konnte mir mein Prof. dabei auch nur den Trick mit dem java-Aufruf sagen.
Ich bin halt auf der Suche nach einer systemspezifischen Lösung.

Also danke Dir nochmals.

Gruß
StephanV
 

StephanV

Mitglied
Fu3L hat gesagt.:
Du kannst dir ein Object vom Typ Console (aus java.io) besorgen und damit arbeiten:

Code:
Console cons = System.console();
cons.printf("äüöß-test");

Danke für Deine Antwort, aber dass Verstehe ich so nicht, muss ich diese beiden Zeilen in meinen Quellcode einbauen? Wäre klasse wenn Du mir kurz gedanklich unter die Arme greifen könntest.

Danke und Gruß
StephanV
 

Fu3L

Top Contributor
Du machst anscheinend noch nciht lange Java^^

Code:
import java.io.*;

public class TestConsole {

	public static void main(String[] args) {
	
		Console cons = System.console();
		cons.printf("\näüöß-Test\n\n");
		cons.printf("HalloWelt");
		
	}
	
}

Ausgabe wäre (mit den leeren Zeilen):
Code:
äüöß-Test

HalloWelt

Dieses cons.printf() kannst du dann halt genau wie System.out.print() verwenden und für System.out.println() musst du halt manuell immer noch einen Zeilenumbruch einfügen ( "\n" ).
 

StephanV

Mitglied
hallo Fu3L, danke für die ausführliche Antwort
Ja, das mit dem Java ist so eine Sache. Vorlesungen haben wir bereits seit 3 Semestern, davon sind die ersten zwei Semester üble Theorie (also, was geht und was nicht geht usw.) gewesen. Ich selber habe da aber noch nicht begonnen mit der Java-Codierung. Richtig begonnen habe ich erst dieses Semester, aber ich habe immer wieder größere Schwierigkeiten. Daher poste ich auch bewusst bei den Anfängerfragen.

Also nochmals vielen Dank. Ich werde das jetzt ausprobieren und dann noch mein Ergebnis posten.

Danke und Gruß
StephanV
 

Fu3L

Top Contributor
Du scheinst immerhin auf dem richtigen Weg zu sein, wenn du freiwillig zum Lernen auf Hilfen wie Eclipse verzichtest und dich auch selbst an Aufgaben versuchst. :) (und nicht versuchst dir Lösungen zu erschleichen^^ :wink:)
Ich hab übrigends auch mit Notepad++ angefangen und ich kann sagen: Es schadet nicht :wink:
 

StephanV

Mitglied
Hallo Fu3L,

jetzt nerve ich schon wieder. Aber möchte hier auch mein Ergebnis mitteilen.
Also ich starte die Eingabeaufforderung, dort kann ich ä,ö,ü und ß eintippen und diese werden auch angezeigt.

Dann habe ich die Zeile
Code:
Console cons = System.console();
als erste Zeile in meinen Quellcode unter
Code:
public static void main(String[] args)  {
eingepflegt und meine Codezeile
Code:
System.out.println("42. Sortierordnung ändern");
gegen
Code:
cons.printf("43. Sortierrichtung ändern \n\n");
ausgetauscht.

Das Ergebnis ist hier dargestellt.

5. Liste sortieren (Bubble)
42. Sortierordnung õndern
43. Sortierrichtung ändern

Jetzt kommt meine Verständnisfrage. Warum funktioniert der
Code:
System.out.print / System.out.println
nicht richtig? Liegt dies an meinen Systemeinstellungen oder liegt das an der Java-Version?

Danke und Gruß
StephanV
 

Fu3L

Top Contributor
Keine Sorge, du nervst nicht. Nur wer deutlich zeigt, keine Lust zu haben und wer sich Lösungen erschleichen will, der nervt :wink:

StephanV hat gesagt.:
Jetzt kommt meine Verständnisfrage. Warum funktioniert der
Code:
System.out.print / System.out.println
nicht richtig? Liegt dies an meinen Systemeinstellungen oder liegt das an der Java-Version?

In einem Java Buch, das bei mir im Regal steht, steht drin:

Der Grund dafür [dass Umlaute nciht richtig dargestellt werden] ist die - etwas veraltete - OEM-Zeichencodierung der Windows-Konsole, die von dem System.out-Objekt nur halbherzig unterstützt wird.[1].

Hier die Fußbnote ([1]):
[Zeichen des 7-Bit-ASCII-Zeichensatzes werden korrekt dargestellt]. Zusätzliche Zeichen des erweiterten 8-Bit-OEM-Zeichensatzes können nur mit Tricks und Wissen über die beteiligten Zeichencodes korrekt ausgegeben werden.

Also liegts an der Konsole und dem System.out-Objekt zusammen...
 

StephanV

Mitglied
hallo Fu3L,

abschließend nochmal Danke. Ich werde mich jetzt mal in die diversen Windows-Foren begeben. Vielleicht haben die Experten ja einen heißen Tip. Sollte das Ergebnis brauchbar sein, werde ich es hier nochmals posten.

Danke und Gruß
StephanV
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
X wie bekomme ich durch Eingabeaufforderung definierte double in einen Befehl, welcher 3 erwartete double braucht? Java Basics - Anfänger-Themen 3
dapzoo Class File Version zu niedrig? Ausführen über Eingabeaufforderung nicht möglich Java Basics - Anfänger-Themen 14
dave253 Problem mit der Eingabeaufforderung Java Basics - Anfänger-Themen 3
C Java Eingabeaufforderung-Basic Zwei Zahlen addieren Java Basics - Anfänger-Themen 2
J Eingabeaufforderung stürzt ab (beim Ausführen einer Java-Datei) Java Basics - Anfänger-Themen 3
F Java-Programm gibt in Eingabeaufforderung nichts aus Java Basics - Anfänger-Themen 4
P Eingabeaufforderung hängt sich auf Java Basics - Anfänger-Themen 2
J "javac" in der Eingabeaufforderung Java Basics - Anfänger-Themen 8
F Erste Schritte JCreator arbeitet nicht mehr als Eingabeaufforderung. Warum? Java Basics - Anfänger-Themen 5
M [Eclipse] Ausführbare Jar-Datei - Eingabeaufforderung Java Basics - Anfänger-Themen 8
M Befehle der Eingabeaufforderung Java Basics - Anfänger-Themen 2
H Programm mit der Eingabeaufforderung ausführen Java Basics - Anfänger-Themen 7
F Ausführbare JAR-Datei: Tastatureingabe in Eingabeaufforderung Java Basics - Anfänger-Themen 6
R Java Einstellungen per Eingabeaufforderung Java Basics - Anfänger-Themen 6
B Long als Eingabeaufforderung Java Basics - Anfänger-Themen 3
M Eingabeaufforderung Java Basics - Anfänger-Themen 2
A .class datei mit eingabeaufforderung starten Java Basics - Anfänger-Themen 8
Developer_X Applet auf lokalem Rechner mit der EingabeAufforderung Starten Java Basics - Anfänger-Themen 44
H javac - Eingabeaufforderung Problem Java Basics - Anfänger-Themen 12
G jar läuft nur in eingabeaufforderung Java Basics - Anfänger-Themen 12
G Encoding Problem mit Eingabeaufforderung unter Windows? Java Basics - Anfänger-Themen 4
S einfaches script mit Eingabeaufforderung starten (javac) Java Basics - Anfänger-Themen 8
T Probleme mit javac in Eingabeaufforderung Java Basics - Anfänger-Themen 2
V Problem in der Eingabeaufforderung (DOS-Box) Java Basics - Anfänger-Themen 6
R Ausfführung nur mit eingabeaufforderung? Java Basics - Anfänger-Themen 10
D Problem Eingabeaufforderung Java Basics - Anfänger-Themen 4
T Java und Eingabeaufforderung Java Basics - Anfänger-Themen 15
M Das Programm stellt nichts dar Java Basics - Anfänger-Themen 2
F boolean stellt sich auf true Java Basics - Anfänger-Themen 15
H Links/Rechtsverschiebung oder was stellt das dar? Java Basics - Anfänger-Themen 2
C Java stellt unter Windows keine Umlaute dar Java Basics - Anfänger-Themen 9
H Klassen in Eclipse stellt es im Ausgabe-Applet nicht dar Java Basics - Anfänger-Themen 5
Gossi Eclipse stellt sich beim Export quer... Java Basics - Anfänger-Themen 4
X cmd stellt falsch/zu weinig dar Java Basics - Anfänger-Themen 4
E Umlaute und Sonderzeichen werden nach der Build Project nicht richtig angezeigt Java Basics - Anfänger-Themen 2
L Collator Umlaute Java Basics - Anfänger-Themen 5
O URL, UTF8, Umlaute Java Basics - Anfänger-Themen 15
S Base64 - Wie beziehe ich die Umlaute in die Speicherplatzrechnung mit ein? Java Basics - Anfänger-Themen 52
F Umlaute beim versenden von SMS Java Basics - Anfänger-Themen 10
krgewb Input/Output Umlaute in generierter HTML-Datei Java Basics - Anfänger-Themen 7
W JTextField-Objekt liest Umlaute mit falschen Zeichen ein Java Basics - Anfänger-Themen 5
A Text mit "Scanner" eingeben und Umlaute ersetzen Java Basics - Anfänger-Themen 7
W HTML Code, Umlaute werden nicht richtig dargestellt Java Basics - Anfänger-Themen 7
F Scanner + Stringbuilder geben leeren String aus wenn Umlaute enthalten sind Java Basics - Anfänger-Themen 29
S Codierung der Umlaute in Mails Java Basics - Anfänger-Themen 2
M Fileoutputstream: Linux Dateinamen mit Umlaute Java Basics - Anfänger-Themen 4
OnDemand Umlaute ausgeben Java Basics - Anfänger-Themen 7
V Umlaute in mysql, antscript, powershell utf-8 Java Basics - Anfänger-Themen 7
V Umlaute beim Parsen einer HTML Seite Java Basics - Anfänger-Themen 4
tuttle64 Keine Umlaute im Dos Fenster Java Basics - Anfänger-Themen 12
S Umlaute aus Dateisystem entfernen Java Basics - Anfänger-Themen 5
B InetAddress und umlaute Java Basics - Anfänger-Themen 2
S Umlaute in Swing-GUI Java Basics - Anfänger-Themen 8
D javadoc: wie werden Umlaute richtig dargestellt? Java Basics - Anfänger-Themen 3
B Input/Output Kodierte Umlaute aus Datei umwandeln? Java Basics - Anfänger-Themen 2
R Umlaute Mac -> Windows Java Basics - Anfänger-Themen 2
0 Umlaute Java Basics - Anfänger-Themen 4
R UTF-8 Webseite Umlaute lesen. Java Basics - Anfänger-Themen 2
F SQL Server aus Umlaute werden Fragezeichen Java Basics - Anfänger-Themen 4
P Umlaute in Datei ändern Java Basics - Anfänger-Themen 4
R Umlaute mit Switch-Case tauschen Java Basics - Anfänger-Themen 26
F Umlaute eines Strings entfernen (Verwendung von this?) Java Basics - Anfänger-Themen 2
A Umlaute darstellen Java Basics - Anfänger-Themen 4
M Umlaute in Java Applets? Java Basics - Anfänger-Themen 3
O Umlaute bei der Erfassung Java Basics - Anfänger-Themen 12
P Umlaute und Byte Java Basics - Anfänger-Themen 2
J Umlaute Java Basics - Anfänger-Themen 3
R Umlaute in einer .properties-Datei Java Basics - Anfänger-Themen 1
S Umlaute und Sonderzeichen erkennen Java Basics - Anfänger-Themen 12
C umlaute mit DataOutputStream schreiben Java Basics - Anfänger-Themen 3
N Umlaute ersetzen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben