当将包含非 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
以避免某些浏览器上出现那些烦人的空行。
关于javascript - 字符集问题: external javascript file drops non-ASCII characters in HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23172310/