我有一个 xsl 文件,它将一个 xml 文件转换为另一个具有不同 xml 格式的文件。xsl 文件以:
?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
然后输出开始于:
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
以及将被转换的所有元素的其余部分,例如很多行:
<xsl:element name="tns:corporateName" >
<xsl:value-of select="@CorpOrgname"/>
</xsl:element>
一切看起来都不错,除了生成的 xml 文件在第 1 行有这个标记:
<?xml version="1.0" encoding="Windows-1252"?
我不明白这种编码是从哪里来的。当我在本地调试文件时,结果是 utf-8,但不是当这个应用程序使用它时。
反正有没有强迫它更多地设置为utf-8?因为这是一种需求。接收系统是一些 Unix 系统。
我有一个原始文件的例子。那一个我将转换,它是 utf-8 格式(无论如何,在notepad ++所说的期间)。
我在这里遗漏了什么吗,是否有另一种方法来设置结果:s 编码而不是语法 encoding="utf-8"?