Per qualche motivo le stringhe Unicode non si comportano correttamente in Rhino, Mozilla's JavaScript engine. Se inserisco il testo Unicode nel REPL, o lo manipolo, ritorna indietro senza senso.Unicode in Rhino
js> 'тотальная киборгизация'
B>B0;L=0O :81>@3870F8O
I caratteri ASCII funzionano bene.
js> 'reprap for everyone'
reprap for everyone
comandi Unix funzionano bene troppo:
$ echo 'тотальная киборгизация'
тотальная киборгизация
uscita JVM è troppo bella, correndo class Test { public static void main(String[] args) { System.out.println("тотальная киборгизация"); } }
uscite correttamente cirillico.
versioni Java e Rhino sono:
$ java -version
java version "1.7.0_09"
OpenJDK Runtime Environment (IcedTea7 2.3.3) (7u9-2.3.3-0ubuntu1~12.10.1)
OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)
$ rhino
Rhino 1.7 release 3 2012 05 18
Impostazioni locali:
$ echo $LC_TYPE
$ echo $LANG
en_US.UTF-8
Cambiare LC_ALL
a en_US.UTF-8
non aiuta.
Questo problema ha a che fare con questa domanda StackOverflow, Javascript using UCS-2?
Qual è il problema e come utilizzare Unicode corretto in Rhino REPL?
Non vedo lo stesso problema. Sto usando 'Rhino 1.7 release 2 2009 03 22' e' java version '1.6.0_26 "' 'Java (TM) SE Runtime Environment (build 1.6.0_26-b03-384-9M3425)' 'Java HotSpot (TM) 64-Bit Server VM (build 20.1-b02-384, modalità mista) 'su Mac OS X 10.5.8. –
Prova ad eliminare Rhino dall'ambiente. Cosa succede quando dai il comando della riga di comando di Unix, 'echo' тотальная киборгизация'', senza eseguire Rhino? –
L'output ottenuto, dopo aver considerato i caratteri di controllo, è in realtà UTF-16, non UTF-8. (Dato questo, il fatto che l'ASCII semplice funzioni è peculiare.) Potresti provare a compilare ed eseguire questo Java per vedere se le impostazioni della VM sono da biasimare: 'class Test { public static void main (String [] args) { System.out.println ("тотальная киборгизация"); } } – psmay