OVH Cloud OVH Cloud

Problème de caractères spéciaux avec XALAN ... Comprend pas

3 réponses
Avatar
loop
Bonjour,

je suis débutant donc excusez si ma question est bête !

j'ai un fichier XML qui commence comme ça :
<?xml version="1.0" encoding="utf-8"?>
<products><product><TDProductId>8526505</TDProductId><name>Mini-pied
téléscopique</name><description>Vivitar - Mini-pied photo téléscopique
Vivitar 990151</description><imageUrl>http:// ....

J'ai fais un XSL avec le même encodage <?xml version="1.0"
encoding="utf-8"?> qui génère une requête SQL avec XALAN

Tout fonctionne bien, mais les accents entre autres sont pas insérés dans la
base de donnée et sont remplacés par des caactères spéciaux :

==> Mini-pied téléscopique Vivitar !!!!!!


Comment régler ce problème sachant que le fichier XML est téléchargé sur un
site, je ne peut donc pas changer l'encodage ???

merci de votre aide

3 réponses

Avatar
Franck DARRAS
Bonjour,

Il ne faut pas utilisé UTF-8 pour gérer les Accents.

Il faut passer en encoding ISO-8859-1

Amicalement
Franck



loop wrote:
Bonjour,

je suis débutant donc excusez si ma question est bête !

j'ai un fichier XML qui commence comme ça :
<?xml version="1.0" encoding="utf-8"?>
<products><product><TDProductId>8526505</TDProductId><name>Mini-pied
téléscopique</name><description>Vivitar - Mini-pied photo téléscopique
Vivitar 990151</description><imageUrl>http:// ....

J'ai fais un XSL avec le même encodage <?xml version="1.0"
encoding="utf-8"?> qui génère une requête SQL avec XALAN

Tout fonctionne bien, mais les accents entre autres sont pas insérés dans la
base de donnée et sont remplacés par des caactères spéciaux :

==> Mini-pied téléscopique Vivitar !!!!!!


Comment régler ce problème sachant que le fichier XML est téléchargé sur un
site, je ne peut donc pas changer l'encodage ???

merci de votre aide








Avatar
loop
Bah je ne peux pas changer l'encoding du fichier XML vu qu'il est sur le
site web d'un fournisseur !

merci

"Franck DARRAS" a écrit dans le message
de news: crj7g8$iva$
Bonjour,

Il ne faut pas utilisé UTF-8 pour gérer les Accents.

Il faut passer en encoding ISO-8859-1

Amicalement
Franck



loop wrote:
Bonjour,

je suis débutant donc excusez si ma question est bête !

j'ai un fichier XML qui commence comme ça :
<?xml version="1.0" encoding="utf-8"?>
<products><product><TDProductId>8526505</TDProductId><name>Mini-pied
téléscopique</name><description>Vivitar - Mini-pied photo téléscopique
Vivitar 990151</description><imageUrl>http:// ....

J'ai fais un XSL avec le même encodage <?xml version="1.0"
encoding="utf-8"?> qui génère une requête SQL avec XALAN

Tout fonctionne bien, mais les accents entre autres sont pas insérés
dans la


base de donnée et sont remplacés par des caactères spéciaux :

==> Mini-pied téléscopique Vivitar !!!!!!


Comment régler ce problème sachant que le fichier XML est téléchargé sur
un


site, je ne peut donc pas changer l'encodage ???

merci de votre aide










Avatar
Alain
loop wrote:
Bonjour,

je suis débutant donc excusez si ma question est bête !

j'ai un fichier XML qui commence comme ça :
<?xml version="1.0" encoding="utf-8"?>
<products><product><TDProductId>8526505</TDProductId><name>Mini-pied
téléscopique</name><description>Vivitar - Mini-pied photo téléscopique
Vivitar 990151</description><imageUrl>http:// ....

J'ai fais un XSL avec le même encodage <?xml version="1.0"
encoding="utf-8"?> qui génère une requête SQL avec XALAN

Tout fonctionne bien, mais les accents entre autres sont pas insérés dans la
base de donnée et sont remplacés par des caactères spéciaux :

==> Mini-pied téléscopique Vivitar !!!!!!


en fait il faut bien changer l'encodage mais il y en a plein qui sont
indépendant.

l'encodage du fichier XML source, tu t'en fout car le parseur va
inerpréter les accent et donnet en java une version cohérente
(des String composés de Char qui sont sur 32 bits, et pour qui
l'encoding n'a pas de sens... en faut l'encoding
c'est comment transformet un byte[] en Char[] )...

l'encodage de ta feuille XSL (cell dans <?xml ) idem, c'est le problème
de ton éditeur de XML (ou de XSL)... en fait l'encodage de ta feuille ne
détermine pas ce que ton Tranformer va sortir

en te lisant je pense qu tu produit un fichier text
avec <xsl:output method="text"
(sinon tu as un ou des tags XML gênant dans ton résultat)

il faudrait change les paramètres d'encoding de ce tag "output"
regarde dans la doc sur XSL ca doit être -> encoding="iso-8859-15"
(supporte l'euro)

sinon en fait l'UTF8 ca devrait marche avec ta base, mais il faudrait
la configuer pour supporter les caractère codée en UTF8 dans les reqête
c'est peut être un "alter session NLS... "

sinon il faut aussi que ta base supporte les caractères accentués
(mais tu te fout de l'encoding tant qu'il est compatible avec celui que
tu aura
donné à la session)