Tim*_*man 18 html character-encoding
说我有这样的脚本:
<script type="text/javascript" src="myScript.js">
我在网上看到一些消息来源声称如果charset省略该属性,则默认为ISO-8859-1.我见过其他人声称它采用与包含脚本标记的HTML页面相同的编码.真相是什么?
我需要知道,因为我的JavaScript文件包含将插入HTML的文字字符串,其中包括非ASCII字符,如欧元符号(€).我意识到添加一个charset属性或只是编码这些字符的HTML应该可以解决我的问题,但我仍然想了解默认行为.
编辑:为了澄清一点,我不仅要知道标准的含义,还要了解浏览器的实际行为.这里描述的行为:http://joconner.com/2008/09/javascript-file-encoding/似乎表明浏览器并不总是假设ISO-8859-1.
w3c有一个浏览器确定char编码的标准方法,你可以在这里阅读:http://www.w3.org/TR/html4/charset.html#spec-char-encoding
总而言之,在确定文档的字符编码(从最高优先级到最低优先级)时,符合要求的用户代理必须遵守以下优先级:
- "Content-Type"字段中的HTTP"charset"参数.
- META声明,其中"http-equiv"设置为"Content-Type",值为"charset"设置.
- charset属性设置在指定外部资源的元素上.
除了此优先级列表之外,用户代理还可以使用启发式和用户设置.例如,许多用户代理使用启发式来区分用于日文文本的各种编码.此外,用户代理通常具有用户可定义的本地默认字符编码,它们在没有其他指示符的情况下应用.
| 归档时间: |
|
| 查看次数: |
3443 次 |
| 最近记录: |