Sie sind nicht angemeldet.

Zypressen Hügel

Junior Schreiberling

  • »Zypressen Hügel« ist der Autor dieses Themas

Beiträge: 244

Registrierungsdatum: 22.12.2001

1

24.09.2002, 20:35

Umlaute in Java

hi. weiss zufällig jemand, wie ich die umlaute ä,ö,ü,Ä,Ö,Ü mit java einlesen und ausgeben kann (java 1.4.0 beta-version unter windows xp pro). ich versuche es mit einem FileInputStream, aber egal, wie ich das byte[]-array caste, es kommen immer nur rechtecke oder andere sonderzeichen, je nachdem ob ich in der dos-shell oder in java-swing-komponenten arbeite ;(
Man kann auch ohne Spass Alkohol haben 8)

  • »Joachim« ist männlich

Beiträge: 2 863

Registrierungsdatum: 11.12.2001

Wohnort: Hämelerwald

Beruf: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

2

24.09.2002, 21:51

Ein wenig Quellcode in Form eines Minimalbeispiels wäre nicht schlecht gewesen ... ;)


Aber trotzdem: Das Problem ist die ein wenig unkonventionelle Zeichenkodierung (Cp850), die Windows für die Konsole benutzt.

Hier ein Beispielprogramm, das unter einer westeuropäischen Windows-Version funktioniert, nicht jedoch auf anderen Plattformen bzw. Sprachversionen. Für echte Plattformunabhängigkeit müßte man das Charset für die Ausgabe entsprechend setzen. Oder besser: durchgängig Unicode verwenden.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.io.*;

public class Test {
	public static void main(String[] args) {
		StringBuffer buffer = new StringBuffer();
		try {
			OutputStreamWriter osw = new OutputStreamWriter(System.out, "Cp850");
			PrintWriter pw = new PrintWriter(osw);
			BufferedReader in = new BufferedReader(new FileReader("test.txt"));
			int ch;
			while ((ch = in.read()) > -1) {
				buffer.append((char)ch);
			}
			pw.print(buffer.toString());
			pw.flush();
			pw.close();
		} catch (Exception e) {
		}
	}
}
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

AnyKey

Erfahrener Schreiberling

Beiträge: 451

Registrierungsdatum: 11.12.2001

Wohnort: H-Town

Beruf: Student

3

24.09.2002, 23:07

Zitat von irgendwoher ( ich glaub es war das Softwareprojekt oder SWTI/SWTII):

"wer umlaute verwendet verdient harte strafen !!!"

:D
aber ich weiss natuerlich nicht wofuer du die ae´s ue´s und oe´s brauchst :D:D:D:D

cya

"Der Mensch braucht Schubladen." -- Any Key

  • »Joachim« ist männlich

Beiträge: 2 863

Registrierungsdatum: 11.12.2001

Wohnort: Hämelerwald

Beruf: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

4

24.09.2002, 23:36

Zitat

Original von AnyKey
"wer umlaute verwendet verdient harte strafen !!!"
Vor zehn Jahren hätte ich dem noch voll und ganz zugestimmt, aber mittlerweile sollten wir (vor allem Dank Unicode, insbesondere in Verbindung mit XML) aus dem gröbsten raus sein. Und gerade jetzt sollte man Umlaute und Sonderzeichen verwenden, um endlich Gründe zu schaffen, die ganzen alten Krücken loszuwerden. Sogar in den USA hat man inzwischen gemerkt, daß man um vernünftige Internationalisierung nicht mehr herumkommt ...
The purpose of computing is insight, not numbers.
Richard Hamming, 1962