enroc Posté 20 Juin 2005 Partager Posté 20 Juin 2005 Bonjour, voilà, j'utilise le fameux XMLHttpRequest, et c'est super ! Mais ... j'ai des problèmes d'encodage de caractère Voici les 2 cas de figures que j'ai : en utilisant XMLHttpRequest pour poster le formulaire * envoi le contenu des champs en utf8 * récupère (responseText) de l'utf8 (je crois) alors que le contenu est de l'iso-8859 (et le dit dans l'entête) en utilisant le formulaire sans javascript: tout ce passe bien en iso-8859-1 Donc : 1. Il faut que je détecte si le formulaire est posté via javascript ou non, pour faire un utf8_decode(), ce que j'aimerai éviter. 2. je ne sais pas comment faire pour afficher correctement le responseText. d'où : 1. Puis-je poster en javascript en iso-8859-1 ? Comment ? 2. Pourquoi ai-je des problèmes d'affichage en récupérant responseText, qui est de l'iso-8859, en l'affichant ? Voilà, si vous avez compris et que vous avez des idées ... Voici le javascript utilisé : function saveFile(){ request = new XMLHttpRequest(); request.open("POST", location.pathname); request.onload = printResult; /* Envoi de l'utf8 ? */ request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); var _fileContent = (document.getElementById('fileContent').value); var _mtime = document.getElementById('mtime').value; var _action = "editFile"; request.send("ajax=true&fileContent="+_fileContent+"&mtime="+_mtime+"&action="+_action);}function printResult(){ if(document.getElementById("log")){ document.getElementById("log").parentNode.removeChild(document.getElementById("log").parentNode); } var _result = document.createElement("div"); /* reçoit de l'utf8 ? */ _result.innerHTML = request.responseText; document.body.appendChild(_result); //document.body.innerHTML = request.responseText;} Lien vers le commentaire Partager sur d’autres sites More sharing options...
enroc Posté 24 Juin 2005 Auteur Partager Posté 24 Juin 2005 Hop, la réponse était dans la question (qui était : pourquoi le fichier qui récupère le formulaire (action="toto.php") ne récupère pas tout simplement de l'iso-8859-1 quand le formulaire est posté en javascript) request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); <{POST_SNAPBACK}> En effet c'est posté en x-www-form-urlencoded, il faut donc décoder ! Faut bien tout lire avant de poser une question :-D Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant