2012-03-13 50 views
8

Tôi muốn sử dụng chuỗi unicode trong Object như chìa khóa, một cái gì đó như:Làm cách nào để sử dụng khóa chuỗi Unicode Trong đối tượng Javascript?

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

đó là ok, t [ "姓名"] trở lại "naitong"

nhưng

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

tôi "", một chuỗi trống

Bất kỳ ai cũng biết tại sao?

Chỉnh sửa:

Tôi cài đặt firebug và thử trong bảng điều khiển, nó hoạt động. Acctually i sử dụng mozrepl, để tôi có thể chỉnh sửa và chạy javascript trong emacs. Vì vậy, này có cái gì để làm với mozrepl

Tôi có xác nhận rằng sự ủng hộ mozrepl chỉ "7bit ASCII an toàn", để tranform unicode, tôi phải JSON mã hóa nó trong emacs, như:

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

này là câu hỏi đầu tiên của tôi được hỏi trên stackoverflow, và tôi đã nhanh chóng resp. Cảm ơn tất cả các bạn.

+0

Một trình duyệt? Trên tất cả các trình duyệt? Cái nào – hippietrail

+0

Firefox 10 ..... –

+0

Nền tảng nào? Nếu Windows, đó sẽ là vấn đề của bạn: giao diện stdio C (có thể) được sử dụng bởi kết nối của emacs với mozrepl được giới hạn ở trang mã của miền địa phương, mà trên Windows không may là UTF, vì vậy bạn không thể nhận được Unicode tùy ý nó. – bobince

Trả lời

3

trình tốt cho tôi trong bảng điều khiển firebug:

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

Có lẽ bạn đang cố gắng để hiển thị nó trên một trang có sử dụng một charset khác nhau mà không chứa những biểu tượng.

+0

Bàn điều khiển Chrome cũng xác nhận thành công '> Object.keys ({" 姓名 ":" naitong "})' -> '[" 姓名 "]' – Hubro

Các vấn đề liên quan