caractère accentué

Petit nouveau ! | 2 Messages

19 nov. 2014, 16:36

Bonjour à tous

J'ai une moulinette qui crée un fichier xml d’après des noms de fichier. Lorsque que j'ai des caractères accentués dans ces noms de fichiers
mon xml se retrouve tronqué.
Une âme charitable peut-elle m'aider?

Merci


	function makeXML($fichier){
	
		$fichier_nom = pathinfo($fichier, PATHINFO_FILENAME);
		$id_video = date('Y').date('m').date('d').date('H').date('i').date('s');
		
		$dom = new DomDocument();
		
		if (!$dom->load(FICHIER_XML))
			throw new Exception('      !!! Fichier XML introuvable !!!');
		else {
		
			$asset = $dom->getElementsByTagName('asset')->item(0);

			$asset->setAttribute('filename', $fichier);
			$asset->setAttribute('refid', $id_video);
			
			$title = $dom->getElementsByTagName('title')->item(0);
			
			$title->setAttribute('name', $fichier_nom);
			$title->getElementsByTagName('short-description')->item(0)->nodeValue = $fichier_nom;
			$title->setAttribute('refid', $id_video);
			$title->setAttribute('video-full-refid', $id_video);
			
			$domToWrite = $dom->saveXML();
			
			$fichier_xml = fopen(FICHIER_XML, 'w');
			fwrite($fichier_xml, $domToWrite);
			fclose($fichier_xml);
			
		}
	
	}

Nestecha
Invité n'ayant pas de compte PHPfrance

19 nov. 2014, 18:33

Je m'y connais pas des masses en XML, mais essaie de changer :
fwrite($fichier_xml, $domToWrite);
en :
fwrite($fichier_xml, utf8_encode($domToWrite));
Et dis moi si ça fonctionne.

Sinon quand tu dis "tronqué", c'est à dire ? L'écriture du fichier s'arrête carrément lorsqu'il trouve une lettre accentuée, ou le nom du fichier qui doit être inscrit s'arrête à la lettre accentuée et l'écriture continue ?

Petit nouveau ! | 2 Messages

20 nov. 2014, 13:04

Merci pour ton coup de main, mais ça n'a pas fonctionné
et pour répondre à ta question
L'écriture du fichier s'arrête carrément lorsqu'il trouve une lettre accentuée