Problème accent *é è '* fichier .xml
Fermé
aragon300
Messages postés
1
Date d'inscription
jeudi 27 août 2009
Statut
Membre
Dernière intervention
27 août 2009
-
27 août 2009 à 00:29
lila - 2 janv. 2012 à 11:26
lila - 2 janv. 2012 à 11:26
A voir également:
- Xml accent
- Xml viewer - Télécharger - Édition & Programmation
- E accent minuscule - Guide
- Office xml handler - Télécharger - Traitement de texte
- Oxygen xml - Télécharger - Divers Web & Internet
- U accent grave clavier ✓ - Forum Windows
17 réponses
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
1 oct. 2009 à 05:21
1 oct. 2009 à 05:21
voila les 2 fonctions dont je me sert, qui ne sont en fait qu'une utilisation des possibilité de php,ce n'est pas une recette maison.Quand des fonctions php existe, inutile de réinventer la roue
et l'opération inverse
je precise que mon probleme etait du au fait que je suis obligé de parcourir le xml, d'extraire chaque données de les travailler et de refaire un nouvel xml.Et c'est à ce moment extraction et reinsertion que ça plantais.
Un exemple tout bete avec la phrase Pensez à la barrière
dans mon xml j'avais par exemple <texte>Pensez à la barrière</texte>
a l'extraction ou la reecriture ca bloquais soit, (suivant le charset employé) , à:
Pensez le ---> le à faisait planter
soit à Pensez la barri ---> le è faisiat planter.
Alors evidemment la suite de mes noeuds etait totalement fausse...
Je dois dire que maintenant que l'ensemble de mes fonctions d'extraction et de reinsertion d'xml sont opérationnelles (et perfectible..), le gain de temps par rapport aux requetes classiques php-sql, est non négligeable.Et encore je bosse principalement en POO avec pear et smarty et les templates , qui est deja une programmation plus rapide que php classique.
pour convertir des é à ô etc.. function convert_accentToXML($texte) { //converti les caracteres quelqu'ils soit en base 64 if(isset($texte) && !empty($texte)) { //essai en base 64 $texte=base64_encode($texte); } return $texte; }
et l'opération inverse
function convert_accentFromXML($texte) { //converti le contenu base64 vers du texte classique,un utf8_decode est utile suivant la config if(isset($texte) && !empty($texte)) { $texte=base64_decode($texte); $texte=utf8_decode($texte); } return $texte; }
je precise que mon probleme etait du au fait que je suis obligé de parcourir le xml, d'extraire chaque données de les travailler et de refaire un nouvel xml.Et c'est à ce moment extraction et reinsertion que ça plantais.
Un exemple tout bete avec la phrase Pensez à la barrière
dans mon xml j'avais par exemple <texte>Pensez à la barrière</texte>
a l'extraction ou la reecriture ca bloquais soit, (suivant le charset employé) , à:
Pensez le ---> le à faisait planter
soit à Pensez la barri ---> le è faisiat planter.
Alors evidemment la suite de mes noeuds etait totalement fausse...
Je dois dire que maintenant que l'ensemble de mes fonctions d'extraction et de reinsertion d'xml sont opérationnelles (et perfectible..), le gain de temps par rapport aux requetes classiques php-sql, est non négligeable.Et encore je bosse principalement en POO avec pear et smarty et les templates , qui est deja une programmation plus rapide que php classique.
La solution est d'utiliser une template full flash oubien flash avec du html seulement ! Moi j'ai abondonné avec le xml... J'ai dis au client que j'avais perdu trop de temps et qu'il devait acheter un autre template... A regarder le nombre de post sur le net en rapport a ce problème c'est ridicule.. Le language xml est fait pour l'anglais... Pour le reste bonne chance... J'ai eu un certain succès sous linux et direct sur le serveur mais il y a pas une explication logique. Car l'éditeur et un éditeur comme les autres..
Et tous ceux qui auront la solution n'ont qu'à la mettre ici soit sous la forme A B C D
les réponses du genre encode en utf-8 en haut ça dit rien a personne...
A
B
C
D
Et tous ceux qui auront la solution n'ont qu'à la mettre ici soit sous la forme A B C D
les réponses du genre encode en utf-8 en haut ça dit rien a personne...
A
B
C
D
La solution est d'utiliser une template full flash oubien flash avec du html seulement ! Moi j'ai abondonné avec le xml... A regarder le nombre de post sur le net en rapport a ce problème c'est ridicule.. Le language xml est fait pour l'anglais... Pour le reste bonne chance...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai passé tellement de temps sur ce template !!! j'avoue que j'aimerais bien trouvé une soluce !! j'ai en partie réglé un pb en ouvrant mon fichier sur bloc note et en l'"enregistrant sous" utf-8... ça évite de me suprimer le mot complet avec l'accent mais ne me met pas pour autant l'accent !! il disparait completement !!
exemple : régénérer ---> rgnrer
exemple : régénérer ---> rgnrer
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
288
24 sept. 2009 à 15:14
24 sept. 2009 à 15:14
jeter un oeil sur ces deux sites....
https://www.commentcamarche.net/contents/489-caracteres-speciaux-html
http://sebsauvage.net/comprendre/ascii/index.html
.... après vous pourrez les récupérer
: )
https://www.commentcamarche.net/contents/489-caracteres-speciaux-html
http://sebsauvage.net/comprendre/ascii/index.html
.... après vous pourrez les récupérer
: )
Bonjour,
Je n'ai pas de problème avec le HTML !
J'ai suivi les directives sur le site de Monster et cela ne fonctionne pas toujours. Alors pour ma part le xml je ne perd plus de temps avec cela...
Je n'ai pas de problème avec le HTML !
J'ai suivi les directives sur le site de Monster et cela ne fonctionne pas toujours. Alors pour ma part le xml je ne perd plus de temps avec cela...
Pareille... HTML ça se passe bien c'est juste XML/FLASH ... j'ai tout mis en MAJUSCULE... comme ça...
Bonjour,
Oui j'ai effectivement utiliser cette méthode pour un autre par ce que le template passe bien. Mais cela n'a pas de sens... Quand je dis que j'ai tout essayé, j'ai vraiment tout essayé... J'y ais passé une semaine complète. Dans l'exemple de Monster il utilise comme exemple que quelques caractère russe mais ce n'est pas représentatif de toutes les accents du français. J'ai plusieurs ebook sur le xml (bible etc) en ce qui conserne le passage des caractères est très basique et les explications trop simpliste comme du genre encoder en UTF-8 c'est trop simple...
xml = englais point that it ! Vous remarquerez qu'il n'y aucune solution réel et cohérente.. A éviter pour les webmaster car il va perdre un temps fou donc $$$ a essayer de corriger ce problème... Et dire que le language xml a été developpé par des Canadiens de Toronto semble- t'il
Solution: template full flash - HTML flash tout fichier xml a éviter
Oui j'ai effectivement utiliser cette méthode pour un autre par ce que le template passe bien. Mais cela n'a pas de sens... Quand je dis que j'ai tout essayé, j'ai vraiment tout essayé... J'y ais passé une semaine complète. Dans l'exemple de Monster il utilise comme exemple que quelques caractère russe mais ce n'est pas représentatif de toutes les accents du français. J'ai plusieurs ebook sur le xml (bible etc) en ce qui conserne le passage des caractères est très basique et les explications trop simpliste comme du genre encoder en UTF-8 c'est trop simple...
xml = englais point that it ! Vous remarquerez qu'il n'y aucune solution réel et cohérente.. A éviter pour les webmaster car il va perdre un temps fou donc $$$ a essayer de corriger ce problème... Et dire que le language xml a été developpé par des Canadiens de Toronto semble- t'il
Solution: template full flash - HTML flash tout fichier xml a éviter
Flachy Joe
Messages postés
2103
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
21 novembre 2023
259
30 sept. 2009 à 19:15
30 sept. 2009 à 19:15
Les caractères encodés numériquement sont normalement accepté par les parsers par exemple :
& #233 ; pour é
par contre & eacute ; ne passera pas...
& #233 ; pour é
par contre & eacute ; ne passera pas...
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
30 sept. 2009 à 21:17
30 sept. 2009 à 21:17
bonsoir, pour le problème d'accent j'ai été moi meme confronté au probleme sur un site que je m'occupe à développer pour ma boite
j'ai, je pense tout essayé depuis la creations de fonction qui convertissait en asscii, en entité html et j'en passe, en rajoutant des DTD dans mes xml,en modifiant les charset bref je croyais le probleme insoliuble.
Sau que j'ai fini par trouvé la solution, je vous la donne si ça peut aider.
il suffit lors de la creation de l'xml d'utiliser la fonction php base64_encode sur le contenu des items
et la absolument tout les caracteres passe sans probleme.
Evidemment pour afficher correctement le texte il faut faire l'operation inverse base64_decode, suivi eventuelement d'un utf_8decode
ca marche sur tout les caracteres sans probleme.
En esperant que ça serve à quelqu'un
j'ai, je pense tout essayé depuis la creations de fonction qui convertissait en asscii, en entité html et j'en passe, en rajoutant des DTD dans mes xml,en modifiant les charset bref je croyais le probleme insoliuble.
Sau que j'ai fini par trouvé la solution, je vous la donne si ça peut aider.
il suffit lors de la creation de l'xml d'utiliser la fonction php base64_encode sur le contenu des items
et la absolument tout les caracteres passe sans probleme.
Evidemment pour afficher correctement le texte il faut faire l'operation inverse base64_decode, suivi eventuelement d'un utf_8decode
ca marche sur tout les caracteres sans probleme.
En esperant que ça serve à quelqu'un
plebras
Messages postés
422
Date d'inscription
mercredi 30 septembre 2009
Statut
Membre
Dernière intervention
3 juillet 2019
121
30 sept. 2009 à 21:58
30 sept. 2009 à 21:58
Les caractères accentués marchent en (techno microsoft asp, . Net c#) si l'entête du fichier est
<?xml version="1.0" encoding="iso-8859-1"?> (sans codeage, décodage)
et non en UTF-8
à voir si vous pouvez tester dans votre cas
<?xml version="1.0" encoding="iso-8859-1"?> (sans codeage, décodage)
et non en UTF-8
à voir si vous pouvez tester dans votre cas
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
30 sept. 2009 à 22:08
30 sept. 2009 à 22:08
je confirme que non aussi bien en iso-8859-1, qu'en iso-8859-15.
Pour eclaircir le probleme auquel j'etais confronté, le but de mes fichier xml est de gerer dynamiquement des fichiers d'animations flash, (deja le flash ne lit que l'utf8).
Le probleme que j'avais c'est lors de la reecriture des xml, soit apres une MAJ des repertoires, soit suite a un cron, la reecriture plantais car les caracteres rencontrés é,à,ô etc.. ne semblais pas etre correctement interprété.
Lorsque le fichier xml est généré à la main l'entete 8859-1 passe bien , mais lorsque l'on genere dynamiquement un xml avec php on peut mettre l'entete qu'on veut ça plante quand on boucle le contenu pour reecrire le fichier XML
Je n'ai trouvé que la solution base 64 pour resoudre ce problème
Pour eclaircir le probleme auquel j'etais confronté, le but de mes fichier xml est de gerer dynamiquement des fichiers d'animations flash, (deja le flash ne lit que l'utf8).
Le probleme que j'avais c'est lors de la reecriture des xml, soit apres une MAJ des repertoires, soit suite a un cron, la reecriture plantais car les caracteres rencontrés é,à,ô etc.. ne semblais pas etre correctement interprété.
Lorsque le fichier xml est généré à la main l'entete 8859-1 passe bien , mais lorsque l'on genere dynamiquement un xml avec php on peut mettre l'entete qu'on veut ça plante quand on boucle le contenu pour reecrire le fichier XML
Je n'ai trouvé que la solution base 64 pour resoudre ce problème
Cela en reviens a dire que la solution reste une recette maison ! C'est ça que je ne trouve pas normal et cohérent. Car un fichier xml ne devrait en pas être différent d'un HTML en rapport a l'encodage.. Et pour les solutions iso-8859-1, iso-8859-15 c'est les premières solutions que j'avais essayé.
Non tant que l'on retrouvera autant de problème avec ce language moi je refuse de perdre du temps avec ça.
Mais pour le bénéfice d'autre, la solution de code php est-ce une ligne de code a intégré dans le fichier %
soit plus explicite avec l'exemple du code ! Merci
Non tant que l'on retrouvera autant de problème avec ce language moi je refuse de perdre du temps avec ça.
Mais pour le bénéfice d'autre, la solution de code php est-ce une ligne de code a intégré dans le fichier %
soit plus explicite avec l'exemple du code ! Merci
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
288
1 oct. 2009 à 10:59
1 oct. 2009 à 10:59
c'est du bon travail.
ton travail évitera à certains de devenir chauve. :-)
merci d'avoir joins ton code.
R
ton travail évitera à certains de devenir chauve. :-)
merci d'avoir joins ton code.
R
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
1 oct. 2009 à 12:53
1 oct. 2009 à 12:53
de rien c'est avec plaisir, c'est aussi le but de ce forum ,c'est bien joli de voir des post disant probleme resolu, mais on sait pas comment ;-)
Quand je peut aider je le fait avec joie
Quand je peut aider je le fait avec joie