1

这是xml:

<?xml version="1.0" encoding="UTF-8"?>
<title>中文字Chinese charactors 1234</title>

这是 xslt:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
    <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/">
    <xsl:value-of select="title"/>
    </xsl:template>
</xsl:stylesheet>

但输出似乎编码错误如下:

銝剜��hinese charactors 1234

我确保编码使用的是“Unicode UTF-8”我使用的软件是Altova XMLSpy 为什么会发生这种情况以及如何解决,非常感谢您的帮助。:)

4

1 回答 1

1

不幸的是,编码错误总是发生在您懒得告诉我们的系统部分,因为您没有意识到它们是相关的。

首先,检查 XSLT 处理器是否正在执行序列化(例如,不是将结果树写入 DOM)并且序列化是到二进制输出目标而不是字符目标。然后检查此二进制目标中的实际字节。消除错误在于您在显示这些字节时解码这些字节的方式的所有可能性,而不是字节本身。

于 2013-03-07T12:04:08.893 回答