HTML1121:不允许使用代码页unicode,只允许使用代码页utf-8

时间:2013-02-07 17:07:07

标签: javascript windows html5 windows-8 character-encoding

我在Visual Studio 2012中看到此错误,因为我正在尝试让我的HTML5应用在原生Windows 8应用内运行:

HTML1121:不允许使用代码页unicode,只允许使用代码页utf-8。

显然这是一个字符编码问题,但我不熟悉unicode和UTF-8之间的区别。任何人都可以对此有所了解吗?

3 个答案:

答案 0 :(得分:0)

如果要从外部VS将文件带入项目,请使用VS和 将文件名另存为 功能并选择 使用编码保存<来自 保存 下拉列表的/ em> 。选择UTF-8编码。这通常可以解决您遇到的问题。

应用程序包中包含的所有JavaScript文件(扩展名为.js的文件)​​都将转换为JavaScript引擎可以直接使用的字节码。这需要UTF-8编码,IIRC。

答案 1 :(得分:0)

当微软说Unicode时,他们通常是指UTF-16:

  

... UTF-16(宽字符)编码,这是Unicode的最常见编码,也是Windows操作系统上用于本机Unicode编码的编码。

http://msdn.microsoft.com/en-us/library/windows/desktop/dd374081(v=vs.85).aspx

designMode标志最终强制浏览器回退到UTF-16,而Windows 8则期望UTF-8(迁移到UTF-8的决定是相对较新的)。您最好的选择是关闭designMode并重新编辑页面

答案 2 :(得分:-1)

Unicode是一种标准。它将字符分配给抽象代码点。但还有更多,大部分工作实际上是为这些代码点创建属性以及定义它们之间的关系。

例如,将字符A(LATIN CAPITAL LETTER A)分配给代码点U+0041。为此代码点定义的属性包括例如其常规类别为Letter, Uppercase,并且它是从左到右编写的。它与代码点U+0061有关系,因为U+0061是它的小写映射。这就是Unicode。

U nicode T 转换 F 格式,用于将这些抽象代码点映射到计算机中的实际具体字节。这是在指定编码,“代码页”或“字符集”时的相关内容。你应该使用UTF-8。

此外,“Unicode”实际上可以在某些Microsoft上下文中引用UTF-16LE编码。