【问题标题】:How to get UTF8 html using msxsl.exe in windows 10如何在 Windows 10 中使用 msxsl.exe 获取 UTF8 html
【发布时间】:2020-04-08 05:48:53
【问题描述】:

我正在使用 msxsl.exe 从 XML 和 XSL 动态生成 HTML 文件。我已经使用 CreateProcess API 用 C++ 编写了代码,并在其中调用了 msxsl.exe。由于在 Windows 7 中输出为 UTF8,因此我以相同的编码创建了所有相关文件(如 CSS 和 JavaScript)。一切正常。当我在 Windows 10 (LTSC) 中运行相同的应用程序时,没有加载 JavaScript,因为现在使用 UCS-2LE BOM 编码生成了 HTML。我尝试在创建进程之前调用 SetConsoleOutputCP(CP_UTF8)。这并没有解决我的问题。无论操作系统如何,我如何才能获得 UTF8 输出?

【问题讨论】:

    标签: html c++ utf-8 windows-10 msxsl


    【解决方案1】:

    添加

    <xsl:output encoding="UTF-8" /> 
    

    到传递给 msxsl.exe 的样式表

    【讨论】:

      【解决方案2】:

      HTML 文件接受与 HTML 文件本身具有相同编码的 JavaScript。这是默认行为。当 JavaScript 使用其他编码时,&lt;script&gt; 标签的 charset 属性可以使用(HTML script charset Attribute)。

      所以添加如下所示的 charset 属性,我可以在所有操作系统中修复 JavaScript 的类型,而不管 HTML 编码如何。

      &lt;script type="text/javascript" src="MyJavaScript.js" charset="UTF-8"&gt;&lt;/script&gt;

      【讨论】:

        猜你喜欢
        • 2018-08-28
        • 1970-01-01
        • 2018-09-03
        • 2015-03-05
        • 2021-04-22
        • 2021-02-18
        • 2018-06-07
        • 1970-01-01
        • 2018-02-27
        相关资源
        最近更新 更多