0

我正在为一个项目生成 Javascript 文件。代码使用 UTF8 保存在 JS 文本文件中。此代码可能包含包含重音字符的字符串。这些字符串可以分段显示,因此我使用StringEscapeUtilsApache Commons 对它们进行了 html 转义。

这里开始,我认为这种做法对于使用 UTF8 的 HTML 文档是安全且足够的,但是对于导入的 javascripts 呢?它们是否“继承”与引用 html 文档相同的格式?

4

1 回答 1

1

字符集是隐含的,从HTML 4.01 规范的这个 DTD 片段中可以看出:

<!ELEMENT SCRIPT - - %Script;          -- script statements -->
<!ATTLIST SCRIPT
  charset     %Charset;      #IMPLIED  -- char encoding of linked resource --
  type        %ContentType;  #REQUIRED -- content type of script language --
  src         %URI;          #IMPLIED  -- URI for an external script --
  defer       (defer)        #IMPLIED  -- UA may defer execution of script --
  >

浏览器将使用的实际字符集将是在字符集标题中传入的字符集(如果提供的话)并且元素本身没有charset属性。

如果要确保使用正确的字符集,请将其放在脚本元素声明中:

<script charset="UTF-8" ... ></script>
于 2013-04-12T14:20:18.953 回答