2

XSLT 変換を実行しようとしていますが、ëöï などの文字がリテラルの '?' に置き換えられます。出力に(16進エディターで確認しました)。ソース ファイルには正しい文字が含まれており、スタイルシートには次のものが含まれています。

<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 に答える