xslt转换为html编码UTF-8

时间:2013-03-07 09:54:54

标签: xml xslt encoding utf-8

这是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 为什么会发生这种情况以及如何解决,非常感谢您的帮助。 :)

1 个答案:

答案 0 :(得分:1)

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

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