Text von Konsolenanwendung mit Umlauten und Sonderzeichen ausgeben
Problem
Textausgabe in JAVA ist nicht ganz so trivial wie man meint. Denn Umlaute werden nicht richtig wiedergegegeben, da die Konsole eine andere CodePage verwendet. Das Betrifft z.B. alle Ausgaben von
System.out.println("äöüÄÖÜß");
Das Problem wird jedoch erst sichtbar, wenn man das Programm ausserhalb von Ecplise startet. In der IDE selbst fällt das Problem daher gar nicht auf.
Lösung
Diese Funktion schaltet vor Ausgabe auf die richtige Zeichentabelle 850 um und sichert somit die korrekte Ausgabe von Umlauten.
public void printlncp850(final String s)
{
PrintWriter out = null;
try
{
out = new PrintWriter(new OutputStreamWriter(System.out, "Cp850"));
}
catch (final UnsupportedEncodingException e)
{
e.printStackTrace();
}
out.print(s);
out.flush();
}
No Comments