# Sonderzeichen auf der Windowskonsole ausgeben



## Kel (6. Apr 2011)

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.


----------



## Ark (6. Apr 2011)

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


----------



## Kel (6. Apr 2011)

Mit 
	
	
	
	





```
System.console().printf()
```
 funktioniert es, 
	
	
	
	





```
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:.


----------



## VfL_Freak (7. Apr 2011)

Moin,



Kel hat gesagt.:


> ```
> System.out.println()
> ```
> kann keine Umlaute


Wie kommst Du denn darauf ???:L

Aber sicher geht sowas ....

```
System.out.println( "äöüßÄÖÜ" );
```




Kel hat gesagt.:


> (ausser "null", was wohl das gleiche ist wie "Nil" bei Ruby).


Richtig, NULL und NIL sind identisch - heißt beides svw. "nichts" 

Gruß
Klaus


----------



## Gastredner (7. Apr 2011)

VfL_Freak hat gesagt.:


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


Nicht unter Windows, da zeigt die Konsole nur lustige Symbole an. Aus "standardmäßig" wird z. B. "standardmõ▀ig".


----------



## VfL_Freak (7. Apr 2011)

Moin,



Gastredner hat gesagt.:


> Nicht unter Windows, da zeigt die Konsole nur lustige Symbole an. Aus "standardmäßig" wird z. B. "standardmõ▀ig"


hmm, also hier nicht - wir nutzen das (ausschließlich Windows) sehr häufig für Konsolenausgaben  .....

Gruß
Klaus


----------



## Gastredner (7. Apr 2011)

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


----------



## Fischkopp (7. Apr 2011)

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:

```
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


----------



## VfL_Freak (7. Apr 2011)

Moin,



Gastredner hat gesagt.:


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


Bspw. Verdana, Courier New, Monospaced ...

Gruß
Klaus


----------

