bonjour
voila mon probleme:

Je recupere d'une base mysql des donnees avec pour certaines, des accents
je le met dans un fichier php qui encode en xml (departement.php)!
dans un autre fichier je recupere ces meme donnees pour les afficher dans une liste deroulante en html (pageap.php).

le probleme c'est que tous les accents sont remplacé par des ?
Je pense que c'est un probleme d'encodage.
Je pense que c'est au niveau de la recuperation du xml

La base est encode en utf-8
le fichier php qui encode en xml est le suivant:

page departement.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
header('Content-Type: text/xml'); 
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
if($_GET['id']!="")
{
	$idpays=$_GET['id'];
	$req='select id_departement,nom_departement,code_departement 
                from departement where id_pays_departement="'.$idpays.'"
                order by nom_departement';
	$res=mysql_query($req); 
	$taille = mysql_num_rows($res);
	$i=0;
	if($taille>0)
	{
		echo "<exemple>\n"; 	
		while(list($iddep,$nom,$code)=mysql_fetch_row($res))
		{
		echo('<donnee id="'.$iddep.'" res="'.$nom.'" res2="'.$code.'"/>');
		}
		echo('</exemple>');
	}
}
}}
?>
et mon code js pour recuperer les donnees du dessus se trouve dans une page nomee fonction.js appeler par:
<script language="JavaScript" type="text/javascript" src="fonction.js"></script>



voici son code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
 
function departement()
{
	var numFile = 0;
    var xhr=null;
    var id=document.form_ann.pays.value;
	url="departement.php?id="+id;
    if (window.XMLHttpRequest)
	 { 
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) 
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    //on définit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() { depactu(xhr); };
 
    //on appelle le fichier reponse.txt
    xhr.open("get", url, true);
    xhr.send(null);
}
 //creationd des div!
 function depactu(xhr)
   {
		var docXML= xhr.responseXML;
		var items = docXML.getElementsByTagName("donnee");
		nbelement=items.length;
		tab=new Array();
		for(itab=0;itab<nbelement;itab++)
		{
			tab[itab]=new Array();
			 e = items.item(itab);
              //recuperation des nouvelles donees
			resxml=e.getAttribute("res");
			idxml=e.getAttribute("id");
			resxml2=e.getAttribute("res2");
			tab[itab]["id"]=idxml;
			tab[itab]["res"]=resxml;
			tab[itab]["res2"]=resxml2;
 
 
		}
 
 
		del(); //supprime le bloc existant
	selects=document.createElement("select");
 //remplissage du nouveau select
	selects.setAttribute("name","dep");
	selects.setAttribute("id","dep");
	selects.setAttribute("size","1");
	 for (i=0;i<tab.length;i++)
            {
 
  		 opt = document.createElement('Option'); 
		opt.innerHTML = '';
		opt.value = tab[i]["id"];
		texte=document.createTextNode(tab[i]["res2"]+"-"+tab[i]["res"]); 
		opt.appendChild(texte);
		selects.appendChild(opt);
              }
 	document.getElementById("depar").appendChild(selects);
   }
    function del() 
  {
	  p1=document.getElementById("depar"); 
	  p=document.getElementById('dep');
	 kill=p1.removeChild(p);
 
  }
et le code html de basede la page (pageap.php) est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<div id='depar'>
   <select size='1' id='dep' name='dep'>
       //remplissage du select
       </select> 
</div>
Cette derniere a un entete de ce type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<!DOCTYPE html   "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'."\n".'
                   <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">'."\n".'
                   <head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />'."\n

MErci pour reponses!!

tiger63

KE le tigre soit en toi!!