Kommandozeile und Sonderzeichen

Mortal_Shadow

Aktives Mitglied
Hi,
ich habe folgendes Problem:

Meine .jar starte ich per batch-datei.
Sie will nun eine Eingabe.
Klappt auch soweit, außer die Eingabe enthält Sonderzeichen.
Z.B. ein 'ö' sieht man zwar in der kommandozeile normal da stehen, allerdings wird es von java nicht wie ein java-'ö' behandelt.
Umgekehrt ist eine ausgabe von java (z.B. System.out.println("Böse") wird zu b%se) auch falsch.

Hingegen in Eclpise gestartet und von dort aus die Eingabe gemacht funktioniert alles.
(-> Vmtl ein Problem mit dem windows-charset)

Gibt es da ein workaround?
 
Ich kriegs nicht hin..
Folgendes Testprogramm:
Java:
ByteBuffer bb = ByteBuffer.allocate(1000);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
br.read(bb.asCharBuffer());
Charset c = Charset.forName("850");//Charset.forName(System.getProperty("console.encoding"));
//c = Charset.defaultCharset();
CharBuffer cb = c.decode(bb);
if(cb.toString().contains("ö"))
{
	System.out.println("jay!");
}
Wie man sieht, klappt es auch mit defaultCharset und console.encoding nicht (beide probiert).

Was ich letztendlich haben will, ist eine Url.
Ein java-sonderzeichen wird auch schön brav in ein %XX umgewandelt, klappt halt bei einer konsolen-eingabe nicht.
 

Zurück
Oben