Umlaute in Java

Hallo!

Ich würde gerne wissen, wie ich in Java Umlaute und Sonderzeichen wie ß darstellen kann.

Gruß,
Jan

Hi Jan,

Wo darstellen?
In einem GUI? Dafür brauchst du wegen der deutschen Sonderzeichen keine Klimmzüge machen:

import javax.swing.JFrame;
import javax.swing.JLabel;

public class CharTest extends JFrame
{
 public CharTest()
 {
 super("Test");
 this.getContentPane().add(new JLabel("String mit äöüß"));
 this.pack();
 this.show();
 this.setDefaultCloseOperation(JFrame.EXIT\_ON\_CLOSE);
 }

 public static void main(String args[])
 {
 CharTest ct = new CharTest();
 }
}

Falls es „ungewöhnlichere“ Zeichen sein sollen, wie etwa osteuropäische Sonderzeichen, so besteht die Möglichkeit diese Zeichen als Unicode Sequenz zu codieren. Das würde für das ‚ö‘ z.B. so aussehen:

String ouml = "\u00f6";

Nur wie gesagt, bei den westeuropäischen Zeichen kannst du dir das sparen.

gruß
Heavy

Alles klar, damit müsste ich es hinkriegen. Danke!

Wie ist es denn, wenn ich die Umlaute nicht in einem GUI, sondern in der Eingabeaufforderung darstellen will? Hab’s über den Unicode probiert, hat aber irgendwie nicht funktioniert.

Wie ist es denn, wenn ich die Umlaute nicht in einem GUI,
sondern in der Eingabeaufforderung darstellen will? Hab’s über
den Unicode probiert, hat aber irgendwie nicht funktioniert.

Ich habe es auch nicht hinbekommen alle deutschen Umlaute darzustellen, statt dem ‚ü‘ bekomme ich immer ein ‚?‘.

public class Test2
{
 public static void main(String args[]) throws Exception
 {
 byte[] bytes = new byte[255];
 for(int i=0; i
Ich bin da im Moment auch etwas übefragt, weiss jemand woran das liegt?

Prinzipiell liegt das Problem daran, daß Java die Zeichen nach ISO-8859-1 (bzw. Unicode, aber die ersten 255 Zeichen entsprechen ISO-8859-1) codiert wenn du sie in ein File oder auf eine graphische Oberfläche schreibst (http://www.utoronto.ca/webdocs/HTMLdocs/NewHTML/iso\_table.html), die Dos-Eingabeaufforderung aber Codepage 850 codierte Zeichen ausgibt: http://www.kostis.net/charsets/cp850.htm
Deshalb erscheint z.B. ein õ in des DOS Ausgabe wenn du in Java ein ä schreibst (jeweils Zeichen 228)

gruß
Heavy

Ergänzung
Man kann die System-Property ‚file.encoding‘ benutzen um das Standard Encoding der Virtual Machine zu ändern.

Mit

java -Dfile.encoding=cp850 KlassennName

kann man ganz normal per

System.out.println("äöü");

in die DOS Konsole schreiben.

gruß
Heavy