javascript - 字符集问题: external javascript file drops non-ASCII characters in HTML

标签 javascript html character-encoding

当将包含非 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/

相关文章:

javascript - 尝试将类添加到 <div> - javascript

javascript - fancybox 内的 Fancybox(或嵌套的 fancybox)

html - 响应式下拉菜单无法在两列 View 中正确打开

ios - iPad 无法使用 HTML5 渲染 H.264 视频

javascript - 如何在 JavaScript 中将 DOM 节点文本值转换为 UTF-8?

java - 读取网页内容

javascript - 如何根据另一个元素样式更改 HTML 元素的样式?

javascript - 在 Android 上使用地理定位或 MapView react Native expo 项目错误

javascript - 基于数据的动态图例

c# - 如何从双字节字符集中打印字符