Page 1 sur 1

Caractères accentuées de Mysql vers XML

Posté : 15 févr. 2015, 12:48
par Charles Lalieu
Bonjour,

J'ai une base de données qui contient des données parfois accentuées.
Je fais un " Select * from ma base " puis je demande à PHP de me créer un fichier XML (code ci dessous).
Ca fonctionne parfaitement tant qu'il n'y a pas d'accent dans les données ($value).
Comment faire ?
$file= fopen("results.xml", "w"); 

  $_xml ="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n"; 
  $_xml .="<biens>\r\n"; 
 
  while ($row = mysql_fetch_assoc($result)) 
  { 
   $_xml .="<bien>\r\n"; 
   
   foreach($row as $key => $value)
		{
		$_xml .= "<". $key . ">";
                // ici doit venir un code de conversion des accents contenu dans $value, mais je sèche !
		$_xml .= $value ;
		$_xml .= "</". $key . ">";
		}
   
   $_xml .="</bien>\r\n"; 
  }
  
  $_xml .="</biens>\r\n"; 
  fwrite($file, $_xml); 
  fclose($file); 
  echo "Le fichier XML a étét créé  <a href=\"results.xml\">Show source :).</a>"; 

Re: Caractères accentuées de Mysql vers XML

Posté : 15 févr. 2015, 12:51
par @rthur
Bonjour,

Quel est le problème ?

Re: Caractères accentuées de Mysql vers XML

Posté : 15 févr. 2015, 12:58
par Charles Lalieu
voici l'adresse du fichier php :
http://www.annemasse.biz/immolac/do_xml.php
lorsque je clique sur "Show source" ( http://www.annemasse.biz/immolac/results.xml) , j'ai un message d'erreur.

Re: Caractères accentuées de Mysql vers XML

Posté : 15 févr. 2015, 13:36
par Charles Lalieu
J'ai trouvé !

$value = htmlentities($value, ENT_QUOTES, "UTF-8");

merci

Re: [RESOLU] Caractères accentuées de Mysql vers XML

Posté : 15 févr. 2015, 17:00
par tof73
il faut aussi que l'encodage du fichier php qui génére le xml, soit en utf8.