链接到HTML5文档时,为什么外部JavaScript不默认为UTF-8

时间:2019-01-28 04:32:32

标签: javascript unicode utf-8

这让我感到困惑,并且正在尝试理解原因。由于某种原因,当JavaScript嵌入HTML5文件中时,它会使用UTF-8。但是,如果我链接到外部HTML5,它将不再使用UTF-8。这是我发现的:

我有一个使用<!DOCTYPE html>的index.html文件。默认情况下,因为这是HTML 5,所以默认为UTF-8。

  1. 工作:如果我的内部Javascript代码中包含unicode字符,那么我的Unicode字符会很好显示。
  2. 工作:如果我在index.html文档中有特殊的unicode字符,并且链接到也包含unicode字符的外部JavaScript文件,则unicode字符会很好显示。
  3. 不起作用:如果我在index.html文档中没有特殊的Unicode字符,并且链接到包含Unicode字符的外部JavaScript文件,则Unicode字符不会按预期显示。相反,它们显示为其他一些神秘字符。

那么,为什么#2可以在上面工作,但是#3却不能?通过将<meta charset="utf-8"/>添加到index.html文件的顶部,可以使#3正常工作。但是,对于为什么无论如何都应该默认为UTF-8的原因,我感到困惑。

如果原因是因为默认的UTF-8仅适用于该文件而不适用于外部文件,那么为什么它适用于#2?

PS。我曾尝试在TextEdit和Xcode(在MacOS上)中创建这些文件。在Xcode中,至少默认字符编码似乎设置为UTF-8。

0 个答案:

没有答案