Javascript HTML5允许用UTF-16编码外部脚本吗?

Javascript HTML5允许用UTF-16编码外部脚本吗?,javascript,html,encoding,character-encoding,utf-16,Javascript,Html,Encoding,Character Encoding,Utf 16,HTML标准要求对HTML文档使用UTF-8编码 它是否允许对外部加载的脚本使用其他编码 这些脚本将用UTF-16而不是UTF-8编码,并由web服务器提供标题内容类型:text/javascript;字符集=UTF-16。此设置是否符合HTML规范 [ameta元素的charset属性指定文档使用的字符编码。这是字符编码声明。如果属性存在,则其值必须是字符串“utf-8”()的ASCII不区分大小写匹配项。“无论是否存在字符编码声明,用于编码文档的实际字符编码必须是UTF-8”() HT

HTML标准要求对HTML文档使用UTF-8编码

它是否允许对外部加载的脚本使用其他编码


这些脚本将用UTF-16而不是UTF-8编码,并由web服务器提供标题
内容类型:text/javascript;字符集=UTF-16
。此设置是否符合HTML规范


  • [a
    meta
    元素的
    charset
    属性指定文档使用的字符编码。这是字符编码声明。如果属性存在,则其值必须是字符串“utf-8”()的ASCII不区分大小写匹配项。“无论是否存在字符编码声明,用于编码文档的实际字符编码必须是UTF-8”()
  • HTML标准要求对HTML文档使用UTF-8编码

    不,没有。它更喜欢UTF-8,但您可以使用任何其他想要的字符集,只要您在适当的
    元素中显式声明它。看

    它是否允许对外部加载的脚本使用其他编码

    元素有一个属性,但在检索脚本时,不推荐使用该属性,而是支持
    内容类型
    HTTP头的
    字符集
    属性。如果
    中存在
    字符集
    ,则它必须与
    内容类型
    字符集
    匹配。如果未指定
    字符集
    ,则假定HTML的字符集。

    对于常规脚本,它看起来像HTML5不同的编码,而对于JavaScript模块,则像UTF-8

    若要获取经典脚本给定url、设置对象、一些选项、CORS设置和字符编码,请运行以下步骤。该算法将以null(失败时)或新的经典脚本(成功时)异步完成

    [……]

  • 如果响应的内容类型元数据(如果有)指定了字符编码,并且用户代理支持该编码,则将字符编码设置为该编码(忽略传入的值)

  • 让源文本作为将响应体解码为Unicode的结果,使用字符编码作为回退编码

  • [……]

    获取单个模块脚本,在给定url、获取客户端设置对象、目标、某些选项、模块映射设置对象、引用和顶级模块获取标志的情况下,运行以下步骤。算法将以null(失败时)或模块脚本(成功时)异步完成

    [……]

  • 让源文本成为UTF-8解码响应主体的结果
  • [……]


    我添加了几条引文,确认HTML5要求UTF-8用于新文档。@TillUlen,而UTF-8是现代“生活标准”中首选且唯一“符合”的字符集(以前的HTML5和早期标准没有此类限制),最新标准中的措辞并没有排除使用其他字符集的可能性:“给定的字符编码名称必须是用于序列化文件的字符编码的名称。”当然,如果可能并且可能的话,请使用UTF-8,但要知道浏览器通常是向后兼容的。