Rechercher : dans
Par :

XML :Problème d'affichage caractères spéciaux

Dernière réponse le 7 jui 2007 à 12:08:43 Steph, le 6 jui 2007 à 14:55:02 
 Signaler ce message aux modérateurs

Bonjour à tous,

je débute en XML et je me heurte dans mon travail à un problème d'affichage de données.

Pour résumer, je recois des données sous forme de fichiers XML que je ne dois pas modifier.
Je dois me servir de ces fichiers pour afficher des données sur un site internet.

Pour traduire mes fichiers XML, j'ai mis en place des fichiers XSL

Le problème est qu'aucun des caractères spéciaux ne s'affiche comme il se doit mais prends sa forme codée.
Par exemple dans mon fichier xml j'ai ceci :
Village "Le Clos Moulin"
Apres passage dans mon fichier xsl, les & amp ; disparaissent et sont remplacés par des & j'obtiens donc en sorti finale ceci : Village "Le Clos Moulin"
Ce qui avouons le, n'est pas tres propre a afficher sur un site touristique...

j'aimerai arriver à l'affichage suivant : Village "Le Clos Moulin"

Mon gros souci étant que ceci est aussi vrai pour tous les accents, ce qui rend le texte illisible.

J'ai essayé différents type d'encodage mais rien n'y fait.
Auriez vous une solution à m'apporter?
Merci d'avance...
Je compte sur vous!


Steph

Configuration: Windows XP
Internet Explorer 7.0

1

gratuitdunet, le 6 jui 2007 à 15:00:23

Va sur le forum programmation tu aura plus de chance

Répondre à gratuitdunet

2

s.spark, le 6 jui 2007 à 15:02:39

Salut,

Tu devrais relire ton post par que tous les exemples sont identique.

Sinon je pense que le problème viens directement des fichiers xml, les caractère sont sûrement mal encodé à la base (rédigé avec Word). Essais de créer un fichier te test que tu rédigeras avec notepab++, notpad2 ou autre, tu n'as pas besoin de faire un truc long. Si ça fait pareil, on pourra écarter cette possibilité.

Répondre à s.spark

3

Steph, le 7 jui 2007 à 09:58:27

Bonjour,

Désolé si mon message semble incompréhensible mais il a été déplacé et lors de cette migration, tout mes caracteres spéciaux ont été transformés et donc mon message semblait sans problème!.
Voici donc mon problème tel que je le constate : Pour traduire mes fichiers XML, j'ai mis en place des fichiers XSL

Par exemple dans mon fichier xml j'ai ceci :
Village &¤amp¤;quot; Le Clos Moulin&¤amp¤;quot;
(j'ai rajouté les -¤- ici pour ne pas que le navigateur interprete mes ")

Apres passage dans mon fichier xsl, les & amp ; disparaissent et sont remplacés par des & j'obtiens donc en sorti finale ceci : Village "Le Clos Moulin"
Ce qui avouons le, n'est pas tres propre a afficher sur un site touristique...

j'aimerai arriver à l'affichage suivant : Village "Le Clos Moulin"

Mon gros souci étant que ceci est aussi vrai pour tous les accents, ce qui rend le texte illisible.

Le texte dans les balises ne pose pas problème. Les problèmes sont toujours situés dans les valeurs
Par exemple dans mon fichier xml j'ai: <Periode_x0020_Plat_x0020_à_x0020_emporter>Dans une vall&¤amp¤;#¤233;e verdoyante, bord&¤amp;#¤233;e de montagnes</Periode_x0020_Plat_x0020_à_x0020_emporter>

((La aussi pour que vous voyez mon problème j'ai du ajouter des -¤-)

J'ai essayé différents type d'encodage (utf-8, ...)mais rien n'y fait.
Auriez vous une solution à m'apporter?
Merci d'avance...
Je compte sur vous!


Steph

Répondre à Steph

4

 s.spark, le 7 jui 2007 à 12:08:43

Haa mais c'est tous à fait normal ! C'est exactement ce qu'il y a d'écrit dans le fichier xml ! Tu as des &¤amp¤; un peu partout qui sont .... qui sont là et on ne sait pas pourquoi !

Regarde ce tableau de conversion tu va comprendre :

http://xhtml.css.free.fr/site-caracteres-speciaux.htm


Tu peux avec notepad++ supprimer en masse via le moteur de recherche ces entités (recherche tout, remplacer tout). Le problème étant que si certain doivent rester il seront supprimer aussi, mais à mon avis c'est moins long dans remettre 3-4 que de supprimer un à un.


Pour afficher les guillemets il faut

&quot;
mais pour une raison, disons inconnu le & à été remplacé par sont entité équivalente
&amp;
ce qu'y te donne un mix final :
&amp;quot;


Pareil pour les autres le é donne
&amp;#233;
au lieu de
&#233;


Ce qui est louche c'est que les caractères spéciaux sont remplacé par leur entité ISO-8859-1 et les & bugué le sont par l'entité HTML.


Petite précision, il n'est pas utile de s'enquiquiner à remplacer tous les caractère spéciaux si le site est déclaré en ISO-8859-1, et la base de donné (s'il y a) en latin 1. Ceci ne sont utile que pour les sites utilisant l'utf-8 et que donc le site sera multi-langue.

Si le site n'utilise pas des caractères spéciaux autre que ceux français, vous pouvez utiliser les éèàîïù etc. sans problème.

Répondre à s.spark