Domanda

Sto cercando di eseguire una trasformazione XSLT, ma caratteri come & # 235; & # 246; & # 239; sono sostituiti da un "?" letterale nell'output (ho controllato con un editor esadecimale). Il file sorgente ha i caratteri corretti e il foglio di stile ha:

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

Che altro mi manca?

Sto usando il sassone come trasformatore, se questo è importante.

È stato utile?

Soluzione

Il problema è molto probabilmente nel modo in cui si chiama il trasformatore. Suppongo che funzionerà bene se lo chiami usando java -jar saxon.jar ...

In generale, quando si utilizzano strumenti XML che accettano InputStream / OutputStream, gli strumenti si accerteranno che la codifica sia corretta.

Quando usi una combinazione di Stream e Writers, dovrai assicurarti che la codifica quando passi dall'una all'altra corrisponda a ciò che hai detto al processore XSLT di produrre. Imposta sempre le codifiche in modo esplicito. Potrebbero esserci delle impostazioni predefinite, ma quando si tratta di codifiche, spesso si sbagliano.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top