【问题标题】:XSLT ouputs to UTF-8 but template has non-UTF charactersXSLT 输出为 UTF-8,但模板包含非 UTF 字符
【发布时间】:2013-11-07 16:30:45
【问题描述】:

警告:这里引用的 XSLT 不是我写的

我有一个将 xsl:output 上的编码设置为 UTF-8 的 XSL。 XSL 文档声明了一个变量 firstTierLabel,然后它会使用它。

<xsl:template name="genFirstTierTD">
    <xsl:param name="rowspan"/>
    <xsl:param name="firstTierLabel"/>
    <td class="headFirst"  colspan="1">
        <xsl:attribute name="rowspan"><xsl:value-of select="$rowspan"/></xsl:attribute>
        <span>
            <xsl:attribute name="class"><xsl:value-of select="'firstLevelText'"/></xsl:attribute>
            <xsl:value-of select="$firstTierLabel"/>
        </span>
    </td>
</xsl:template>

我拥有的 XML 文件使用这个 XSLT 来转换一行,例如:

<field name="LINE 1 –" label="LINE 1 –">
    <field2 name="DATE AND TIME" label="DATE AND TIME" type="xsd:dateTime">
        <tooltip> DTG </tooltip>
        <cssClass>ncssHeaderValDtg</cssClass>
    </field2>
</field>

进入表格行的一部分,应该看起来像:

| LINE 1 - | DATE AND TIME             |

但我得到的是(注意“LINE 1”之后的 ?):

| LINE 1 ? | DATE AND TIME             |

现在我有 182 个这样的文件,其中一些有 200 多行,我几乎无法控制...有什么方法可以转换非 UTF 字符吗?

【问题讨论】:

    标签: xml xslt utf-8


    【解决方案1】:

    这与您的&lt;xsl:output&gt; 设置无关,如果字符在进入的过程中没有被解码。请检查输入文档阅读器的编码.这就是您需要确保理解字节的地方。

    【讨论】:

    • 同意。输入 XML 文件的编码可能与其 XML 声明不匹配。很可能,该文件没有 XML 声明,这意味着假定为 UTF-8,但实际编码类似于 Windows CP-1252。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    • 2011-11-15
    • 2014-12-02
    • 2012-02-06
    • 2020-03-07
    相关资源
    最近更新 更多