比方說,我有以下基本的HTML頁面的Unicode點呈現在瀏覽器的區別:HTML字符VS jQuery.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個字符(2秒後)。
$(function(){
window.setTimeout(function(){
$("body").html("\u00f2")},2000);
});
});
我的問題是,爲什麼會發生這種情況?我知道而不是渲染Unicode碼點,我可以將它們轉換爲HTML實體並直接呈現正確的字符。這個問題更多的是爲了學習的目的。
這裏是the jsbin
UTF-16和UTF-32是Unicode的兩種傳輸編碼,不應與JavaScript只支持BMP的問題混淆。 –
已更新答案以刪除對UTF-16的引用 – cegfault