字符集问题:外部 JavaScript 文件在 HTML 中删除非 ASCII 字符


具有

非ASCII字符的Javascript字符串在放置在HTML文件中的标签内时可以按预期成功工作,例如

<script type="text/javascript">
    alert('tänään');
</script>

也就是说,会弹出一个带有"tänään"一词的警报窗口。

但是,如果代码在javascript文件中外部链接,例如

<script src='js/alert.js'  type="text/javascript"></script>

"ä"字符将替换为空字形字符 ('t n n'(。 使用 charset 属性不会修复它:

<script charset="UTF-8" src="js/alert.js"></script>

为什么会这样? 有哪些修复程序可用?

在为浏览器添加字符集指示符时,例如:

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

所有基于文本的文件(html,js,哦,到底是什么css(也应该转换为utf-8。

请记住将文件转换为UTF-8 without BOM以避免在某些浏览器上出现的那些烦人的空行。

最新更新