gpt4 book ai didi

xslt - 如何从 xsltproc 输出 iso-8859-1 字符集?

转载 作者:行者123 更新时间:2023-12-02 17:40:21 25 4
gpt4 key购买 nike

我已经使用 xsltproc 将一些 xml 转换为另一个 xml。

xsltproc iso8859_1.xslt iso8859.xml 

并且重音显示不正确(我的 Linux 中的 $LANG 是 en_US.ISO-8895-1)。

如果我用

xsltproc iso8859_1.xslt iso8859.xml \
| iconv --from-code=utf-8 --to-code=iso-8859-1

并且重音显示正确。 (也在我生成的 HTML 文档中)

如何在 xsltproc 命令后不调用新管道的情况下正确显示重音符号?

最佳答案

如果你想以特定的编码写入输出 XML,你需要在 xsl:output 指令中指定它

<xsl:output method="xml" encoding="ISO-8859-1" />

以这种方式配置编码而不是稍后用 iconv 修复它的最大好处是,这意味着 XML 序列化程序知道目标编码是什么,如果您的样式表试图输出任何例如,在所选字符编码中无法表示的字符将被保留为字符引用,而不是在 iconv 时间消失

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="ISO-8859-1" />

<xsl:template match="/">
<example>אבג</example>
</xsl:template>
</xsl:stylesheet>

遍历任何 XML 文档都会产生

<?xml version="1.0" encoding="ISO-8859-1"?>
<example>&#1488;&#1489;&#1490;</example>

分别代表 א 、ב 和 ג 的三个字符引用(记住希伯来语是从右到左读的)。

关于xslt - 如何从 xsltproc 输出 iso-8859-1 字符集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21683129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com