Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2055 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  encodage caractères spéciaux XML

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

encodage caractères spéciaux XML

n°1659659
liouan
Posté le 18-12-2007 à 05:48:33  profilanswer
 

Bonjour,
j'ai un fichier XML qui a cette tête:
 
<?xml version="1.0" encoding="UTF-8"?>
<menu>
    <produit dir="dossier1">le nom du produit avec éventuellement des caractères spéciaux</produits>
    <produit dir="dossier2">le nom d'un autre produit qui contient aussi des caractères spéciaux</produits>
 
</menu>
 
j'administre un fichier de ce type grace à une petite interface faite en GWT
le problème, c'est que pour mes noms de produits, si je les mets avec des caractères spéciaux tel que c'est pour l'instant, mon fichier XML n'est pas lisible correctement par mes classes, je me prends une sale exception qui me dit que j'ai des caractères invalides (forcément).
 
j'ai donc deux questions:
y a t-il une classe toute faite qui possède la fonction sympa qui me prendrait en entrée une chaine comme "entrée" et me recracherait "entr&233e"?
y'a t-il possibilité de forcer ma classe à manger ce fichier XML? (je précise que pour lire ce fichier XML, j'utilise SAXBuilder)

mood
Publicité
Posté le 18-12-2007 à 05:48:33  profilanswer
 

n°1659932
barny
Posté le 18-12-2007 à 14:23:08  profilanswer
 

liouan a écrit :

Bonjour,
j'ai un fichier XML qui a cette tête:
 
<?xml version="1.0" encoding="UTF-8"?>
<menu>
    <produit dir="dossier1">le nom du produit avec éventuellement des caractères spéciaux</produits>
    <produit dir="dossier2">le nom d'un autre produit qui contient aussi des caractères spéciaux</produits>
 
</menu>
 
j'administre un fichier de ce type grace à une petite interface faite en GWT
le problème, c'est que pour mes noms de produits, si je les mets avec des caractères spéciaux tel que c'est pour l'instant, mon fichier XML n'est pas lisible correctement par mes classes, je me prends une sale exception qui me dit que j'ai des caractères invalides (forcément).
 
j'ai donc deux questions:
y a t-il une classe toute faite qui possède la fonction sympa qui me prendrait en entrée une chaine comme "entrée" et me recracherait "entr&233e"?
y'a t-il possibilité de forcer ma classe à manger ce fichier XML? (je précise que pour lire ce fichier XML, j'utilise SAXBuilder)


n°1659934
FlorentG
Posté le 18-12-2007 à 14:25:18  profilanswer
 

utf-8 mon amour

n°1659935
barny
Posté le 18-12-2007 à 14:25:23  profilanswer
 

liouan a écrit :

Bonjour,
j'ai un fichier XML qui a cette tête:
 
<?xml version="1.0" encoding="UTF-8"?>
<menu>
    <produit dir="dossier1">le nom du produit avec éventuellement des caractères spéciaux</produits>
    <produit dir="dossier2">le nom d'un autre produit qui contient aussi des caractères spéciaux</produits>
 
</menu>
 
j'administre un fichier de ce type grace à une petite interface faite en GWT
le problème, c'est que pour mes noms de produits, si je les mets avec des caractères spéciaux tel que c'est pour l'instant, mon fichier XML n'est pas lisible correctement par mes classes, je me prends une sale exception qui me dit que j'ai des caractères invalides (forcément).
 
j'ai donc deux questions:
y a t-il une classe toute faite qui possède la fonction sympa qui me prendrait en entrée une chaine comme "entrée" et me recracherait "entr&233e"?
y'a t-il possibilité de forcer ma classe à manger ce fichier XML? (je précise que pour lire ce fichier XML, j'utilise SAXBuilder)


 
mettre en début de fichier xml  
<?xml version="1.0" encoding="ISO-8859-1"?>
au lieu de limiter à UTF-8
 

n°1659936
FlorentG
Posté le 18-12-2007 à 14:26:31  profilanswer
 

barny a écrit :


 
mettre en début de fichier xml  
<?xml version="1.0" encoding="ISO-8859-1"?>
au lieu de limiter à UTF-8
 


Hein ? [:pingouino] "Se limiter à l'utf-8" ? [:johneh] T'as fumé quoi ?

n°1659938
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 18-12-2007 à 14:31:25  profilanswer
 

Si c'est toi qui génères ce fichier, modifie le code de façon à produire un document correct. Si ce n'est pas le cas, renvoie le fichier à son propriétaire/générateur en disant qu'il n'est pas valide. Mais dans aucun cas tu ne dois te taper la conversion à la main, c'est le boulot de celui qui construit le fichier.

 

EDIT : j'avais pas bien lu le message de départ [:petrus75]


Message édité par Taiche le 18-12-2007 à 14:34:29

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°1660980
brisssou
8-/
Posté le 20-12-2007 à 10:02:25  profilanswer
 

et si par exemple tout est correct pour les accents, mais que le caractère '€'  ne passe pas ? Hein, par exemple...


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1663023
BifaceMcLe​OD
The HighGlandeur
Posté le 26-12-2007 à 11:25:25  profilanswer
 

La réponse bateau : utiliser iso-8859-15 au lieu de iso-8859-1 (ce sont grosso modo les mêmes tables de caractères, mais la 15 possède le caractère €).
 
La réponse complète : 2 solutions possibles :
 - faire en sorte que le flux en écriture, dans lequel tu écris tes chaînes, soit ouvert avec l'encodage UTF-8 au lieu de l'encodage par défaut de la machine (c'est sans doute la solution la plus sure).
 - se moquer de l'encodage, et, au moment de les écrire dans le fichier XML, transformer dans chaque chaîne chaque caractère dont le code est supérieur ou égal à 128 en son entité XML équivalente (&#aaa; avec le code du caractère en décimal ou &#xbbb; avec son code en hexadécimal) -- (ça oblige à modifier le code => attention aux bugs)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  encodage caractères spéciaux XML

 

Sujets relatifs
Problème encodage mySQL : � et ?[PHP](AJAX) - Pb Caractères spéciaux (apostrophe) ..euh RESOLU en fait
[C# / XML] Validation XML d'une date sous .Net 1.1Problème affichage XML dans IE
Parser XML attribut, php5String[] : tableau de chaines de caractères
[C] fwrite ajoute des caractères de fin de ligne ...Remplacement chaine de caractères dans fichier
[Spry & XML]Impossible d'afficher des images dans mon tableau 
Plus de sujets relatifs à : encodage caractères spéciaux XML


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR