Caractères non reconus !!!

Résolu
Signaler
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
-
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
-
Salut,

J'ai un fichier xml et les accents, etc ne sont pas accèptés !!!

voici mon fichier xml :

<?xml version="1.0" encoding="UTF-8" ?>
<chat>
</chat>

Et une ligne de mon fichier php :

$dom = new DOMDocument('1.0', 'UTF-8');

comment puis je faire pour que les accents soit accèpté ??? pourtant je suis en utf-8 !!

Si t'a besoin d'aide, MP !!!

14 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
utf8_encode() prend une chaîne en paramètre, pas un objet. Là tu lui passes ton objet $dom. Tu dois le faiore sur les DONNEES que tu mets dans ton XML.
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
Re,

j'ai trouvé la solution, l'erreur venais efffectivemen de l'encodage du formulaire d'envoi de donnée qui n'était pas en utf-8 mais en iso...

Si t'a besoin d'aide, MP !!!
Messages postés
624
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2009
1
salut !

tu peux utiliser <!CDATA

exemple

<?xml version="1.0" encoding="iso-8859-1"?>
<racine>
    <texte><![CDATA[Du texte avec des accents genre é, è ou à]]></texte>
</racine>

++
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
salut,

y a t'il un autre moyen ???

Si t'a besoin d'aide, MP !!!
Messages postés
624
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2009
1
bah elle te convient pas ma méthode ...
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
non c'est pas ça, c'est que normalement un encodage utf-8 suffit !!!

Si t'a besoin d'aide, MP !!!
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,

"

non c'est pas ça, c'est que normalement un encodage utf-8 suffit !!!"
Pas si ton xml est rempli avec des chaînes encodées en iso-8859-1. Ou autre encodage différent de l'utf-8. Et c'est probablement ce qu'il se passe.Tu dois encoder les données que tu mets dans ton XML en utf-8, avant. CDATA ne changera rien au problème. Ou du moins, si...les caractères seront acceptés, mais ne seront pas correctement rendus après relecture du XML.
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
que puis je faire alors ???

Si t'a besoin d'aide, MP !!!
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Je viens de te le dire...
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
oui mais comment puis je faire pour les encoder, 1 utf-8_encode ??

Si t'a besoin d'aide, MP !!!
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Ben oui, si tes données sont bien en iso-8859-1. Sinon, iconv().
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
ok, merci !!

Si t'a besoin d'aide, MP !!!
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
Re,

j'obtient l'erreur suivante :

Catchable fatal error: Object of class DOMDocument could not be converted to string in C:\Program Files\wamp\www\index.php on line 24

$fichier = 'post.xml';


$dom = new DOMDocument('1.0', "UTF-8");
$dom -> load($fichier);


$root = $dom->documentElement;


 $new_post = $dom -> createElement ('post');
  $new_pseudo = $dom -> createElement ('pseudo');
   $pseudo_content = $dom -> createTextNode ($_POST['pseudo']);
  $lepseudo = $new_pseudo -> appendChild ($pseudo_content); 
  $new_message = $dom -> createElement ('message');
   $message_content = $dom -> createTextNode ($_POST['message']);
  $lemessage = $new_message -> appendChild ($message_content);


 $new_post -> appendChild ($new_pseudo);
 $new_post -> appendChild ($new_message);


$root -> appendChild ($new_post);



utf8_encode($dom); ligne 24


$dom -> save ($fichier);


print($dom -> saveXML());


header("Location: http://localhost/index.php");



Si t'a besoin d'aide, MP !!!
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
ok !!

Si t'a besoin d'aide, MP !!!