Charset问题:外部javascript文件删除HTML中的非ASCII字符

时间:2014-04-19 16:07:33

标签: javascript html character-encoding

当放入HTML文件中的标记内时,带有非ASCII字符的Javascript字符串可以正常工作,例如

<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>

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

1 个答案:

答案 0 :(得分:0)

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

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

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

请注意将文件转换为UTF-8 without BOM,以避免出现在某些浏览器上显示的令人讨厌的空行。