JavaScript字符编码+;Internet Explorer 9编码

JavaScript字符编码+;Internet Explorer 9编码,javascript,character-encoding,internet-explorer-9,Javascript,Character Encoding,Internet Explorer 9,在进行测试时,我注意到了一些问题。 “stange things”涉及字符编码 对于每个测试,我都在我的Internet Explorer 9 web浏览器中加载了一个HTML页面。 我的HTML页面以UTF-8编码。 以下是我的HTML页面的代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> &l

在进行测试时,我注意到了一些问题。
“stange things”涉及字符编码

对于每个测试,我都在我的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>

在此处插入标题
var strChaine=“été”;
警报(strChaine.charCodeAt(0)+
“+strChaine.charCodeAt(1)+
“+strChaine.charCodeAt(2)+
“+strChaine.charCodeAt(3)+
“+strChaine.charCodeAt(4));
HTML页面包含显示警报框的JavaScript代码

在每次测试之前,我都会在IE9中设置一个特定的编码,方法是单击鼠标右键,然后在“编码”菜单中选择一个选项

测试1 对于该测试,IE9编码已设置为UTF-8。
警报框已显示:233 116 233 NaN

我觉得很奇怪。
由于我的HTML页面是用UTF-8编码的,IE9使用UTF-8对我的HTML页面进行解码,因此我希望警报框显示:195 169 116 196 116
0d195 0d169 0d116 0d196 0d116是字符串“été”的UTF-8十进制表示形式。
0xC3 0xA9 0x74 0xC3 0xA9是UTF-8十六进制等效表示法

是否有人可以证明警报框中真正显示的内容是正确的

测试2 对于本测试,IE9编码已设置为西方字母表(ISO)。
警报框显示:195 169 116 195 169

我又觉得奇怪了。
我得到了我期望的测试1的结果

是否有人可以证明警报框中显示的内容正确?

字符串
“été”
包含三个字符,以及脚本显示的Unicode代码编号。这不取决于字符编码。JavaScript代码在字符上工作,或者更准确地说,在Unicode代码单元上工作,而不是在用于表示字符的字节上工作

如果实际编码是UTF-8,并且您让浏览器将其视为某种8位编码,这可能就是您所说的“西方字母表(ISO)”的意思,那么浏览器会错误地解释UTF-8表示的八位字节,就好像它们各自表示一个字符一样