JavaScript 与浏览器编码不同时的影响

作者:vkvi 来源:ITPOW(原创) 日期:2009-4-26
var c = "千";
document.write(c.charCodeAt(0));

这段代码位于 HTML 文件的 JavaScript 块中,如果文件存储编码与浏览器所使用的相同,那么会得出结果 21315,如果文件存储是 ANSI,而由于某些原因浏览器使用 UTF-8 来解释,那么结果将是 487。所以我们要让浏览器正确识别我们的网页编码,一般是通过

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

来指定网页使用的编码。

如果 JavaScript 代码位于独立的 JS 文件中,JS 文件与 HTML 编码不同会怎样呢?

经过试验,我们发现:

  • 如果网页是 ANSI,JS 是 UTF-8,则不管浏览器使用了什么编码都可以(Chrome 中也是);
  • 而如果网页是 UTF-8,JS 是 ANSI,就会出错了。
相关文章