Bonjour à tous,

J'espère trouver l'aide nécessaire car je ne sais vraiment plus comment faire...

J'ai un code PHP qui créé un fichier XML dont voici une partie :



$domDocument = new DOMDocument('1.0','iso-8859-1');
			$domDocument->formatOutput = true;
			
			$domElement = $domDocument->createElement('com');
			$domAttribute = $domDocument->createAttribute('date');
						
			$domAttribute->value = $Datecata;
			$domElement->appendChild($domAttribute);
			$domDocument->appendChild($domElement);

			$title = $domDocument->createElement('prenom');
			$title = $domElement->appendChild($title);			
			$valeur = $domDocument->createTextNode($prenom);
			$valeur = $title->appendChild($valeur);

$domDocument->save("mon/chemin_".$NomDuFichier.".xml");



Mon problème est que le fichier se créé mais il fait 0b et bien sûr on ne peux l'ouvrir.

Si je garde le meme code php en enlevant l'encodage iso 8859-1 dans mon code php, le fichier xml se créé bien mais les accents sont mal interprétés.


Comment je dois faire ?

J'ai essayé de mettre cette ligne :
$valeur = $domDocument->createTextNode(utf8_encode($prenom));

Mais ça fonctionne pas plus...

J'ai essayé de mettre le fichier php en iso 8859-1 aussi car il est par défaut en UTF8 sans BOM.
Ca fonctionne pas non plus...

Je sais plus quoi faire ! Help please!!!!
Merci
Je crois que la chose la plus simple à faire consiste à oublier définitivement le codage 'iso-8859-1' et d'utiliser uniquement l'UTF-8.
Le jour où j'ai fait ça, après un peu de cafouillage, la vie est devenue nettement plus facile. Je peux mettre du texte en russe, en japonais ou en chinois dans mon site sans me poser la moindre question, je n'ai plus de é et autres &oelig, dans mon code, ni à me demander quand je fais une comparaison de texte en php ou javascript dans quel code se trouve quelle variable.
L'essayer, c'est l'adopter!
Effectivement en UTF8 ça fonctionne à merveille !

D'ailleurs je ne comprends pas pourquoi je force l'encodage en iso-8859-1 le fichier XML ne se génére pas. Et en UTF-8, pas de pb.

Pourquoi ?

Le fichier XML est lu par un logiciel qui va exploiter les données, j'espère que le fait qu'il soit en UTF-8 ça ne va rien changer.

Merci pour l'info, mon fichier est bien construit mais ça ne répond pas au pb de base.
hopseb a écrit :
Effectivement en UTF8 ça fonctionne à merveille !

D'ailleurs je ne comprends pas pourquoi je force l'encodage en iso-8859-1 le fichier XML ne se génére pas. Et en UTF-8, pas de pb.

Pourquoi ?

Le fichier XML est lu par un logiciel qui va exploiter les données, j'espère que le fait qu'il soit en UTF-8 ça ne va rien changer.

Merci pour l'info, mon fichier est bien construit mais ça ne répond pas au pb de base.

Habituellement les programmes qui traitent du XML s'attendent à avoir de l'UTF-8 à l'intérieur, donc ca a une bonne chance de passer.