我在執行測試時已經注意到stange的東西。
「stange things」涉及字符編碼。JavaScript字符編碼+ Internet Explorer 9編碼
對於每個測試,我都在我的Internet Explorer 9 Web瀏覽器中加載了一個HTML頁面。
我的HTML頁面以UTF-8編碼。
這是我的HTML頁面的代碼:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
var strChaine = "été";
alert(strChaine.charCodeAt(0) +
" " + strChaine.charCodeAt(1) +
" " + strChaine.charCodeAt(2) +
" " + strChaine.charCodeAt(3) +
" " + strChaine.charCodeAt(4));
</script>
</head>
<body>
</body>
</html>
HTML頁面包含的JavaScript代碼來顯示一個警告框。
在每次測試之前,我已在IE9中通過右鍵單擊然後在編碼菜單中選擇一個選項來設置特定編碼。
測試1
對於此測試,IE9編碼已被設置爲UTF-8。
警報框顯示:233 116 233 NaN NaN
對我來說這似乎很奇怪。
由於我的HTML頁面是用UTF-8編碼的,IE9使用UTF-8對我的HTML頁面進行解碼,所以我期望警告框顯示:195 169 116 196 116
0d195 0d169 0d116 0d196 0d116是UTF-8十進制表示的字符串「été」。
0xC3 0xA9 0x74 0xC3 0xA9是UTF-8十六進制等效表示。
有沒有人可以證明真正顯示在警告框中的內容?
測試2
對於這個測試IE9編碼已被設置爲西方字母(ISO)。
警報框顯示:195 169 116 195 169
這又一次對我來說似乎很奇怪。
我得到了我期望的測試1的結果。
有沒有人可以證明顯示在警告框中的內容?