Я вижу странное поведение, когда устанавливаю заголовок HTML-страницы с помощью JavaScript. Если я вставлю ссылки на символы html непосредственно в заголовок, который Юникод правильно отображает, например:
<title>吧出</title>
Но если я попытаюсь использовать ссылки на символы html через JavaScript, что-то будет преобразовывать & в (& amp; ;) (разделяя их так, чтобы SO не просто превращал их обратно в амперсанд) и, таким образом, нарушая кодировку, вызывая ее визуализацию в виде полной кодированной строки:
function execTitleChange() {
document.title = "吧出";
}
(я должен отметить, что это немного предположений: когда я выполняю эту функцию JavaScript, когда я анализирую DOM с помощью Firebug, именно здесь я вижу & вместо &.)
Если я использую закодированные \ u символы Unicode при установке значения из JavaScript тогда все снова работает правильно:
function execTitleChange() {
document.title = "\u5427\u51fa";
}
Тот факт, что \ u закодированные символы работают, имеет для меня смысл, поскольку я думаю, что именно так JavaScript представляет символы Unicode, но я озадачен тем, почему такое поведение будет отличается при использовании ссылок на символы HTML.