Re: Zeichensatz der command line



Oliver Neukum <oliver@xxxxxxxxxxx> wrote:
> ich finde einfach keine Dokumentation dazu.
> Was entscheidet, welchen Zeichensatz Java benutzt
> um den Parameter von main() zu erzeugen?

Du meinst argv unter windows? Das macht der java starter, setz mal "set
_JAVA_LAUNCHER_DEBUG=1" und schau im quellcode nach was da passiert. So weit
ich weiss wird die OEM->ANSI Wandung von cmd.exe gemacht und java.exe macht
dann die wandlung ANSI->unicode indem das byte array dem String(byte[])
Konstruktor übergeben wird, mit (sun.jnu.encoding=Cp1252) oder ohne angabe
des platform encodings (NewPlatformString in java.c siehe PS)

Schau mal hier, da wird der ganze Starter (alte version) erklärt:
http://www.neward.net/ted/Papers/RollYourOwnJava/RollYourOwnJava.html

Gruss
Bernd

PS: google findet java.c source:
http://iais.kemsu.ru/odocs/javax/JSDK.Src/launcher/java.c
--
http://itblog.eckenfels.net/archives/17-Java-und-Unicode.html
.



Relevant Pages