次の基本的なHTMLページがあるとしましょう
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
\u00f2
</body>
</html>
ページがレンダリングされると、私が期待していたのに対して\u00f2が表示されます。そして、大きな「しかし」がやってくる。次のJavascriptコードで、私が見るのはò文字です(2秒後)。
$(function(){
window.setTimeout(function(){
$("body").html("\u00f2")},2000);
});
});
私の質問は、なぜこれが起こっているのかということです。Unicodeコードポイントをレンダリングするのではなく、HTMLエンティティに変換して、正しい文字を直接レンダリングできることを認識しています。問題は学習目的のためです。
これがjsbinです