简体   繁体   English

如何在Javascript对象中使用Unicode字符串键?

[英]How can i use Unicode string key In Javascript Object?

I want to use unicode string in Object as key, something as: 我想在对象中使用unicode字符串作为键,如下所示:

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

it's ok , t["姓名"] return "naitong" 没关系,t [“姓名”]返回“ naitong”

but

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

I got " ", a blank string 我有一个空字符串“”

Anyone knowes why? 有人知道为什么吗?

Editting: 编辑:

I install firebug and try it in the console, it works. 我安装了萤火虫,并在控制台中尝试了它,它可以工作。 Acctually i use mozrepl, so that i can editing and run javascript in emacs. 准确地说,我使用mozrepl,以便可以在emacs中编辑和运行javascript。 So This have something to do with mozrepl 所以这与mozrepl有关

I have confirm that mozrepl support only "7bit safe ASCII", to tranform unicode ,i have to json-encode it in emacs, as: 我已经确认mozrepl仅支持“ 7位安全ASCII”,以转换unicode,我必须在emacs中对其进行json编码,如下所示:

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

This is my first question asked on stackoverflow, and i got quick resp. 这是我对stackoverflow提出的第一个问题,我得到了快速答复。 Thank you all. 谢谢你们。

Works fine for me in the firebug console: 在Firebug控制台中对我来说效果很好:

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

Maybe you are trying to display it on a page that uses a different charset which does not contain those symbols. 也许您正试图在使用不包含这些符号的不同字符集的页面上显示它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM