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
Bonjour,

Je me résout à poster mon poste car je ne trouve pas de solution à mon problème. Bien que j'ai lu tout les postes concernant les accents dans les fichiers.xml. Voilà deux jours que j'applique les solutions que quelqu'uns ont trouvé mais ça ne fonctionne pas. Rien à faire. J'ai passé par un éditeur de teste, enregistré sous unicode seulement. Ensuite copier coller dans Dreamweaver cs3 et bien d'autre solution. J'ai pas réussi à solutionner ce problème qui semble être la bête noir de bien des gens. Comment se fait-il que l'on est autant de problème en français...

Alors voici, c'est un template Monster celui-ci https://www.templatemonster.com/templates.php?tid=-+Any+-&search_words=20361&from_=-+Any+-&to=-+Any+-&type=&cat=&style=&author=

Il y a un fichier main.xml ou l'ensemble des testes sont regroupé.

Voici le code entête.

<?xml version="1.0" encoding="utf-8"?>

<website>

<!-- Please use special software for editing XML data files -->

<!-- Settings -->

<settings>

<companyName>Daluzzi</companyName>

<slogan>PHOTOGRAPHY</slogan>

<copyright><![CDATA[DALUZZI © 2008 <font color="#FFFFFF"> <a href="event:switchPage,8">PRIVACY POLICY</a></font>]]></copyright>

</settings>

<!-- Menu -->

<menu>

<item targetPage="0"><![CDATA[GALLERIES]]></item>

<item targetPage="1"><![CDATA[ABOUT ME]]></item>

<item targetPage="2"><![CDATA[CONTACT US]]></item>

</menu>

Merci à l'avance !
A voir également:

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
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

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.
1
J'ai exactement le même problème !!!! Personne pour une réponse ? SVP !! (SOS)
0
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
0
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...
0

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
0
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
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

: )
0
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...
0
Pareille... HTML ça se passe bien c'est juste XML/FLASH ... j'ai tout mis en MAJUSCULE... comme ça...
0
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
0
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
Les caractères encodés numériquement sont normalement accepté par les parsers par exemple :
& #233 ; pour é
par contre & eacute ; ne passera pas...
0
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
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
0
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
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
0
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
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
0
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
0
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
c'est du bon travail.
ton travail évitera à certains de devenir chauve. :-)
merci d'avoir joins ton code.
R
0
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
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
0
Jojo Le Mérou
19 nov. 2009 à 15:04
Salut,

Pour les Template Monster et pour le reste, il faut éditer dans Flash dans chaque case de texte dynamique (oui c'est galère) avec le bouton "caractères incorporés" et rajouter Latin I.
0
merci infiniment, ça m'a aidé votre suggestion embedding en Latin I

bravo
0