1

これは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

エンコーディングが「UnicodeUTF-8」を使用していることを確認します。使用しているソフトウェアはAltovaXMLSpyです。なぜこれが発生し、解決するのか、ご協力いただきありがとうございます。:)

4

1 に答える 1

1

残念ながら、エンコーディングエラーは、関連性があることに気付いていないため、わざわざ教えてくれないシステムの部分で常に発生します。

最初に、XSLTプロセッサがシリアル化を実行していること(たとえば、結果ツリーをDOMに書き込むことではない)、およびシリアル化が文字の宛先ではなくバイナリ出力の宛先に対して行われていることを確認します。次に、このバイナリ宛先の実際のバイトを確認します。エラーが、バイト自体ではなく、表示中にこれらのバイトをデコードする方法にある可能性をすべて排除します。

于 2013-03-07T12:04:08.893 に答える