2012-03-13 6 views
8

Quiero usar cadena Unicode en objetos como claves, algo como:¿Cómo puedo usar la clave de cadena Unicode en el objeto Javascript?

var t = {"姓名": "naitong"}; 

está bien, t [ "姓名"] retorno "naitong"

pero

Object.keys({"姓名": "naitong"}) 

llegué "", una cadena en blanco

¿Alguien sabe por qué?

Editting:

instalar Firebug y probarlo en la consola, funciona. Acctually uso mozrepl, por lo que puedo editar y ejecutar javascript en emacs. Así que esto tenga algo que ver con mozrepl

tengo confirmar que el apoyo mozrepl única "ASCII segura 7bit", a tranformar Unicode, tengo que JSON a codificar en emacs, como:

alert(Object.keys(JSON.parse("{\"\\u59d3\\u540d\":\"naitong\"}"))) 

Este es mi primera pregunta en stackoverflow, y obtuve respuesta rápida. Gracias a todos.

+0

¿Un navegador? En todos los navegadores? ¿Cual? – hippietrail

+0

Firefox 10 ..... –

+0

¿Qué plataforma? Si Windows, ese será tu problema: la interfaz de C stdio que (probablemente) usa la conexión de emacs a mozrepl está limitada a la página de códigos de la configuración regional, que en Windows nunca es un UTF, por lo que no puedes bajar el Unicode arbitrario eso. – bobince

Respuesta

3

me da buenos resultados en la consola de Firebug:

>>> Object.keys({"姓名": "naitong"}) 
["姓名"] 

Quizás esté tratando de mostrarlo en una página que utiliza un juego de caracteres diferente que no contiene esos símbolos.

+0

La consola de Chrome también confirma el éxito '> Object.keys ({" 姓名 ":" naitong "})' -> '[" 姓名 "]' – Hubro

Cuestiones relacionadas