【发布时间】:2014-04-26 00:46:51
【问题描述】:
我在使用 XSLT(使用 Oxygen 运行转换)从 UTF-8 编码的 XML 源生成 ISO-8859-1 编码的文本输出时遇到了困难。
例如,当源包含短划线时,Oxygen 会抛出错误,“Output character not available in this encoding (decimal 8211)”。
破折号是 ISO-8859-1 字符集中可用的字符,处理器知道源是用 UTF-8 编码的(来自其 XML 声明)。我的 XSLT 包含
<xsl:output method="text" encoding="ISO-8859-1"/>
那么为什么不简单地将 UTF-8 编码的字符替换为 ISO-8859-1 编码的字符呢?我可以理解为什么 Unicode 中可用但 ISO-8859-1 中不可用的字符可能会导致问题,但为什么两者都可用?
有直接的解决方案吗?
感谢您的任何建议。
【问题讨论】:
-
您使用哪个版本的 XSLT?您也可以显示您的 XML 输入吗?
标签: xml xslt encoding utf-8 iso-8859-1