Bonjour à tous,

j'ai un souci avec les caractères spéciaux. en fait, j'ai une fonction qui me permet d'interroger (à l'aide de xmlHttpRequest) une page php pour faire un UPDATE sur un table.

en fait, dans la clause WHERE je fais l'update par rapport à un libellé. ce libellé est envoyé par XMLHttpRequest et si il posséde des accents par exemple, ils sont remplcés par "é".

mon notepad enregistre par défaut en ANSI, j'ai donc changé pour UTF-8. j'ai ensuite ajouté le charset UTF-8 à ma balise <script>. j'ai également de remplacer les accents par leurs valeurs octals avec un replace. enfin, j'ai ajouté la balise META content-type. rien à faire.

voici le contenue de ma balise <script> :
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
71
72
73
74
75
76
77
78
<script language="Javascript" charset="UTF-8">
 
		function get_Xhr()
		{
 
			var x;
			if(window.XMLHttpRequest)
			{
				x = new XMLHttpRequest();
			}
			else if(window.ActiveXOject)
			{
				try
				{
					x = new ActiveXObject("Msxml2.XMLHTTP");
				}
				catch(e)
				{
					try
					{
						x = new ActiveXObject("Microsoft.XMLHTTP");
					}
					catch(el)
					{
						x = null;
					}
				}
			}
			else
			{
				alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest\nVeuillez le mettre ࡪour");
			}
			//alert('getXHR(), ' + x);
			return x;
		}
 
		function updateTask()
		{
			//alert('updateTask()');
			var xhr =get_Xhr(); 
 
			//alert('readyState ,' + xhr.readyState);			
			xhr.onreadystatechange = function()
			{
 
				//alert('readyStateChange ,' + xhr.readyState);	
				if(xhr.readyState == 4)
				{
					var anwer = xhr.responseText;
					if(anwer == 0)
					{
						document.getElementById("returnbox").innerHTML = "la mise à jour a échouée";
					}
					else
					{
						document.getElementById("returnbox").innerHTML = "mise à jour réussie";
					}
					//alert('innerHTML');
				}
			}
 
			var text = document.getElementById("daily_id_tache").value;
			var reg = new RegExp("(é)", "g");
			var text2 = text.replace(reg,"\351");
			var reg = new RegExp("(è)", "g");
			text2 = text.replace(reg,"\350");
			var reg = new RegExp("(ê)", "g");
			text2 = text.replace(reg,"\352");
			var reg = new RegExp("(à)", "g");
			text2 = text.replace(reg,"\340");
			// alert('text : ' + text);
 
			xhr.open("POST", 'validateTasks.php', false);
			xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
			var str = "daily_heures="+document.getElementById("daily_heures").value+"&daily_id_tache="+text2+"&daily_id_projet="+document.getElementById("daily_id_projet").value;
			xhr.send(str);
			//alert('fin');
		}
en espérant que vous pourrez me venir en aide. merci de m'avoir lu