Page 1 sur 1

Encodage avec un GET

Posté : 20 avr. 2012, 16:58
par Weppes41
Bonjour,

Je bloque depuis un petit moment sur un problème d'encodage lorsque j'effectue un GET en ajax et que j'affiche la variable envoyé en GET, pourtant tout le reste de ma page contient les bons accents et caractères. Voici le code:
<?php
if (isset($_GET['opt'])){ // je récupère la valeur selectionné
$element_select = $_GET['opt'];
echo "element_select :".$element_select;  // ça devrait m'affiché le mot Été mais ça m'affiche des caractères bizarre 
?>
[javascript]<script type="text/javascript" charset="utf-8">
/**
envoie des données en GET ou POST en utilisant les XmlHttpRequest
*/
function sendData(param, page, form)
{
if(document.all)
{
//Internet Explorer
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
}//fin if
else
{
//Mozilla
var XhrObj = new XMLHttpRequest();
}//fin else

//définition de l'endroit d'affichage:
if(form == 0){
var content = document.getElementById("contenu");
content.innerHTML = '';
content = document.getElementById("contenu");
}
else{
var content = document.getElementById("ddl"); // ddl c'est ma liste déroulante

var valeur_de_option=content.options[content.selectedIndex].value;
//alert("Élément selectionné : "+valeur_de_option);
var nom_option=content.options[content.selectedIndex].text;
// alert(content.options[content.selectedIndex].text);

var url = "http://..............."+"<?php echo $_SERVER['PHP_SELF']; ?>"
var name_opt="opt";
var temp_url=insertParam(name_opt,nom_option,url);
document.location=temp_url;

}

XhrObj.open("POST", page);

//Ok pour la page cible
XhrObj.onreadystatechange = function()
{
if (XhrObj.readyState == 4 && XhrObj.status == 200)
content.innerHTML = XhrObj.responseText ;

}

XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XhrObj.send(param);
}//fin fonction SendData

script>[/javascript]



Auriez vous des idées ?

Re: Encodage avec un GET

Posté : 20 avr. 2012, 19:16
par Weppes41
up please ! 8-|

Re: Encodage avec un GET

Posté : 20 avr. 2012, 20:12
par AB
Il faut que toute ta page soit encodée en utf-8 (header php, meta html, fichier). Vérifies si tu as suivi toutes les étapes dans ce tuto

Re: Encodage avec un GET

Posté : 20 avr. 2012, 21:43
par Weppes41
J'ai re-vérifié et j'ai déjà tous en UTF-8 de ce qui est indiqué dans ton tuto :(

d'autres idées ? ou bien des témoignages de personnes qui ont déjà eu ce problème ou un truc similaire ?

Re: Encodage avec un GET

Posté : 20 avr. 2012, 21:50
par moogli
est tu certain que le navigateur envoi la chose en utf-8 ?


@+

Re: Encodage avec un GET

Posté : 20 avr. 2012, 22:23
par Weppes41
C'est surement ça, car tout le reste de la page n'a pas d'erreur de caractères, je verrai ça lundi, je vous tiens au courant et merci !

Re: Encodage avec un GET

Posté : 25 avr. 2012, 14:19
par Weppes41
J'ai contourné le problème, en ne mettant pas d'accent, car je récupère juste une variable que j'afficherai pas par la suite. Donc problème résolue ! thanx !
et sinon pour les autres, on peut toujours faire un POST au lieu d'un GET :)