Sonderzeichen auf der Windowskonsole ausgeben

Kel

Aktives Mitglied
Ich habe die Aufgabe, eine "Hello World"-Ausgabe so abzuändern, dass mein Name stattdessen erscheint. Jetzt hab ich aber das "ß" im Nachname, was die Windowskonsole nicht wirklich akzeptiert, egal welchen Font ich einstelle (sind ja auch nur 3 zur Auswahl).

Gibt es eine Möglichkeit, dass ß reinzubringen? Ich habs mit Unicode(\\u00DF) probiert, aber dass nimmt die Konsole auch nicht, im Gegensatz zum Compiler.
Ich dachte, die Windowskonsole wäre UTF-8-tauglich?

Dass einzig brauchbare, was Google mir ausgespuckt hat, ist das hier cmd - Unicode output on Windows command line? - Stack Overflow. Das erscheint mir aber für so eine Aufgabe doch etwas übertrieben, vor allem da ich dann wahrscheinlich Copy&Paste machen müsste. Das bringt mich dann aber nicht unbedingt weiter, wenn ich nicht weiss, was ich da eigentlich mache.
 
Zuletzt bearbeitet:
Windows und Unicode? Was hast denn du für Vorstellungen?! Diese Eingabeaufforderung ist doch mit voll steinzeitlichem CP-850 ausgestattet. :lol:

Eventuell hilft es, die Bytes entsprechend umzukodieren, aber ich denke nicht, dass das als Anfänger gefordert wird. Behaupte doch einfach, du würdest Linux benutzen. Zumindest ist mir in meiner ganzen Zeit mit verschiedenen Linuxsystemen noch keines untergekommen, dessen Konsolen nicht mit UTF-8 laufen würde. 😀

Ark
 
Mit
Java:
System.console().printf()
funktioniert es,
Java:
System.out.println()
kann keine Umlaute (Google ist toll).

Nur hab ich keine Ahnung, was die Vor-/Nachtteile gegenüber System.out sind ausser
- Console gibt es erst ab 1.6
- System.console() kann null liefern, z.B. in deiner IDE
- Was passiert wenn du deine Ausgabe auf Console per Ausgabeumleitung umlenkst?
- Die IO-Methoden auf Console können blocken (früher als die auf System.out)

Aber die letzten 3 sind für mich nicht grade verständlich (ausser "null", was wohl das gleiche ist wie "Nil" bei Ruby).
Ich schätze, nach einer Vorlesung Java sollte ich mich noch nicht mit sowas beschäftigen :rtfm:.
 
Zuletzt bearbeitet:
Moin,

Java:
System.out.println()
kann keine Umlaute
Wie kommst Du denn darauf ???:L

Aber sicher geht sowas ....
Java:
System.out.println( "äöüßÄÖÜ" );


(ausser "null", was wohl das gleiche ist wie "Nil" bei Ruby).
Richtig, NULL und NIL sind identisch - heißt beides svw. "nichts" 🙂

Gruß
Klaus
 
Tatsächlich? Welche Schriftart? Ich verwende standardmäßig Consolas, vielleicht sollte ich es mal mit Lucida Console probieren...ne, scheint auch nix zu ändern.
 
Moin,

also wenn ich mit einem normalen Editor schreibe und in der Konsole compiliere, dann bekomme ich die Ausgabe nur mit diesem Trick sauber hin:
Java:
public class Test
{
  public static void main(String args[])
  {
    try 
    {
      System.setOut(new java.io.PrintStream(System.out, true, "CP850"));
    }
    catch (java.io.UnsupportedEncodingException e) 
    {
      System.out.println(e);
    }
    System.out.println("Hello Wörld ß?");
    System.exit(0);
  }
}

Ist auch nicht schön, aber Editor und Konsole sind eh nicht schön... 🙂

Greetings
 

Zurück
Oben