Как я могу использовать строковый ключ Unicode в объекте Javascript?

Я хочу использовать Unicode-строку в Object в качестве ключа, что-то вроде:

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

все в порядке, т ["姓名"] вернуть "naitong"

но

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

Я получил "", пустую строку

Кто-нибудь знает почему?

Editting:

Я устанавливаю firebug и пробую его в консоли, он работает. На самом деле я использую mozrepl, так что я могу редактировать и запускать javascript в emacs. Так что это как-то связано с мозрепл

Я подтверждаю, что mozrepl поддерживает только "7-битный безопасный ASCII", чтобы преобразовать Unicode, я должен JSON-кодировать его в Emacs, как:

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

Это мой первый вопрос, заданный на stackru, и я получил быстрый респ. Спасибо вам всем.

1 ответ

У меня отлично работает в консоли firebug:

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

Возможно, вы пытаетесь отобразить его на странице, которая использует другую кодировку, которая не содержит эти символы.

Другие вопросы по тегам