2

我正在尝试运行 XSLT 转换,但像 ëöï 这样的字符被替换为文字 '?' 在输出中(我用十六进制编辑器检查)。源文件具有正确的字符,样式表具有:

<xsl:output encoding="UTF-8" indent="yes" method="xml"/>

我还缺少什么?

如果这很重要,我正在使用撒克逊人作为变压器。

4

1 回答 1

2

问题很可能出在您调用变压器的方式上。我的猜测是,如果您使用java -jar saxon.jar调用它,它会正常工作...

一般来说,当您使用带有 InputStream/OutputStream 的 XML 工具时,这些工具会确保编码是正确的。

当您混合使用 Streams 和 Writers 时,您必须确保从一个到另一个的编码与您告诉 XSLT 处理器生成的编码相匹配。始终明确设置编码。可能有默认值,但在编码方面,它们往往是错误的。

于 2009-01-27T10:31:32.793 回答