Ecrire un fichier xml au format unicode

Eléphant du PHP | 59 Messages

15 sept. 2009, 14:22

Bonjour,
Je souhaite créer un fichier xml au format unicode voici le code que j'utilise :
$filename = "XML/IMPORT_ST_AT".$date.".xml"; 

    $ini_handle = fopen($filename, "r"); 
    $ini_contents = fread($ini_handle, filesize($filename)); 
    fclose($ini_handle); 

    $handle = fopen($filename, "w+"); 
        $writestring = $messageXML . $ini_contents; 
        if (fwrite($handle, $writestring) === false) { 
            echo "Impossible d'ecrire dans le fichier. <br />";           
        } 
    fclose($handle); 
Voici l'entete du fichier xml je ne pense pas que ca joue quoi que ce soit car en le créant a la main dans un fichier texte et enregistrant sous le format unicode ca marche :s :

Code : Tout sélectionner

<?xml version=\"1.0\" encoding=\"UTF-16\" ?>
Le fichier est bien créé mais au format ANSI au lieu de unicode. Je ne sais pas comment l'encoder dans ce format.
Ou alors je dois peut etre convertir ma chaine $messageXML en unicode mais je ne sais pas non plus comment faire. Si une personne pouvait m'aiguiller.
Je vous remercie par avance.

Mammouth du PHP | 991 Messages

15 sept. 2009, 14:43

j'ai pas tout compris a ta demande mais regarde du coté de utf8_encode() et utf8_decode() ou encore iconv()

Bye Hawk
DevOps, Symfony4, Hoa

Eléphant du PHP | 59 Messages

16 sept. 2009, 12:05

merci il suffisait d'encoder la chaine en utf8 Merci :)