Accueil > Forum > > > > pb de post dans un ajax à cause des accents
pb de post dans un ajax à cause des accents
jeudi 18 décembre 2008 à 00:55:05 |
pb de post dans un ajax à cause des accents

ludovicanceaux
|
Salut à tous, voilà, j'essaye de faire une requète ajax en post avec un textarea, les données saisi dedans sont de ce style : Production: Bois: 3000 Par heure Terre: 3600 Par heure Fer: 3000 Par heure Céréales: 1165 Par heure Troupes: 1 Héros 7 Légionnaires 2332 Prétoriens 163 Impériens 219 Equites Legati 92 Equites Imperatoris 14 Equites Caesaris 6 Béliers 33 Catapultes de feu j'utilise ce code là : http://www.captain.at/howto-ajax-form-post-request.php et en fait dans la page PHP que j'appelle j'essaye de séparer chaque ligne et il faut ke je sache à koi chaque lignes correspond dc j'utilise cette fonction : ex (la ligne avec les céréales) : if(strpos($valeur_explode_prod[$i],'Céréales')){//On recherche le champ qui correspond aux céréales $production_cece=$valeur_explode_prod[$i]; } et en fait ca ne fonctionne pas, car quand je fait caractère par caractère à l'aide de substr je trouve C&Atil au lieu de normalement C&eacu. donc j'ai testé le header avec plusieurs encodage "UTF8, windows 1250, etc...., je fais ce qu'ils ont dis en bas du lien que je viens de donner : if we use "&" character it wont work... but if we use escape();
var poststr = "mytextarea1=" + escape(encodeURI( document.getElementById("mytextarea1").value )) +"&mytextarea2=" + escape(encodeURI( document.getElementById("mytextarea2").value ));
and next in php u use urldecode , it will work good.
Bref je me tourne vers vous, car je ne suis plus quoi faire!!!! Merci d'avance
|
|
jeudi 18 décembre 2008 à 09:48:46 |
Re : pb de post dans un ajax à cause des accents

Teclis01
|
Tiens ça ressemble au dev' d'un jeu :) j'me trompe? ^_^ l'encodage ressemble à de l'utf8... Ceci dit, on post rarement des chaines on utilises plutôt des entiers...enfin on a tjrs le probleme des accent en cas de login/password avec accent donc! Pour ce qu'ils te disent, ok mais je vois aucun decode comme ils préconisent... ça peut venir de ça non ? Ensuite pour le debug... attention à ce que tu vois et vraiment reçoit... j'entend par là que tu devrais loger dans un fichier et non les lire dans le navigateur. En espérant t'aiguiller un peu... Il vaut mieux poser une question et passer pour bête que le rester toute sa vie Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
|
|
jeudi 18 décembre 2008 à 09:49:27 |
Re : pb de post dans un ajax à cause des accents

Bul3
|
bonjour, si on est "cohérent partout", pas de souci avec les accents et les unescape et autres sont inutiles perso je fais toujours bien entendu, les sources sauvées en UTF-8 ( ! ) <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8"> pour html header('Content-Type: text/html; charset=utf-8'); pour php xml.setRequestHeader( "Content-type", "charset=utf-8" ); "pour ajax"
|
|
jeudi 18 décembre 2008 à 12:25:22 |
Re : pb de post dans un ajax à cause des accents

ludovicanceaux
|
Bah donc j'ai tout vérifié ds mon entête head HTML, j'ai bien : <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
ensuite ma requête ajax est comme ca : envoieRequete : function(url,parameters,id,loading){//20 mars 2008 //url = url de la page à appeler //id = ID de la div pour la réponse de la page //loading = "images/loading.gif" if(loading)javascript.getObj(id).innerHTML='<div align="center" style="margin-top:20px"><div style="color:#FF0000">Chargement en cours...</div><img src="'+loading+'" /></div>'; var xhr_object=null; if(window.XMLHttpRequest){ xhr_object=new XMLHttpRequest(); }else{ if(window.ActiveXObject) xhr_object=new ActiveXObject("Microsoft.XMLHTTP"); } xhr_object.open("POST",url,true); xhr_object.setRequestHeader("Content-type", "charset=utf-8" ); xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhr_object.setRequestHeader("Content-length", parameters); xhr_object.setRequestHeader("Connection", "close"); xhr_object.send(parameters); xhr_object.onreadystatechange=function(){ if(xhr_object.readyState==4){ javascript.getObj(id).innerHTML=xhr_object.responseText; } } xhr_object.send(null); },
Dc c'est tiré de l'url fourni ci dessus, légerment modifié, car ma requête est dans une classe ^^
et donc dans ma page PHP : header('Content-Type: text/html; charset=utf-8'); $valeur_post=str_replace(' ','',$_POST['textarea_ajax']); $valeur_explode_prod=explode('|',$valeur_post); for($i=0;$i<count($valeur_explode_prod)-1;$i++){ if(strpos($valeur_explode_prod[$i],'Céréales')){//On recherche le champ qui correspond aux céréales $production_cece=$valeur_explode_prod[$i]; echo $production_cece; } }
Mais ca ne marche toujours pas, j'ai toujours des caractères spéciaux, donc mon strpos ne marche pas :(
|
|
jeudi 18 décembre 2008 à 12:27:52 |
Re : pb de post dans un ajax à cause des accents

ludovicanceaux
|
Et oui c'est un dev de jeu ^^, c'est un truc pour gérer une alliance en fait, et les données sont tiré d'un copier coller du jeu, puis placé dans un textarea, puis ensuite après l'appui sur le bouton ok, la requète ajax est censé mettre des nouveaux champs input avec les données exact à l'intérieur :)
|
|
jeudi 18 décembre 2008 à 12:57:55 |
Re : pb de post dans un ajax à cause des accents

ludovicanceaux
|
Autres choses, quand j'utilise la fonction substr et que je coupe au 2ème caractère, ca me marque "C?" et quand je coupe au 3ème caractère ca me marque "Cé" pour le mot céréales, donc c'est que j'ai un truc qui ne va pas, maintenant le truc c'est que je ne sais pas quoi!!!
|
|
jeudi 18 décembre 2008 à 14:22:00 |
Re : pb de post dans un ajax à cause des accents

Bul3
|
ce que je peux te dire... essaye : html <HTML Lang="fr"> <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8"> <body><b> sauver les sources en utf-8<br /> envoyer : <textarea id="env" name="env">àâéèêëïî</textarea> <button onclick="appel();">Valider</button><br /> reçu : <textarea id="rec" style="width:80%;height:50%"></textarea> <script type="text/javascript"> function xmlhttp() //~~ XMLHTTP ~~ { var x; try { x = new XMLHttpRequest(); } catch (e) { try { x = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { try { x = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { x=false; } } } return x; } function appel() //~~ Appel ~~ { var xml = xmlhttp(); if(!xml) { alert("XmlHttpRequest non supporté"); } else { xml.onreadystatechange = function() { if(xml.readyState == 4) { if (xml.status == 200) { document.getElementById('rec').value= xml.responseText; } else { document.getElementById('rec').value= "problème xmlhttprequest"; } } } try { netscape.security.PrivilegeManager. enablePrivilege('UniversalXPConnect UniversalBrowserAccess'); } catch(erreur) { } xml.open("POST", "Accents_2.php", true); xml.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); var tmp="env="+document.getElementById('env').value; try { xml.send(tmp); } catch (e) { } } } </script> </body> </html>
|
php envoi php:éèàù reçu du javascript :<?php echo $_POST['env']."\n";?>
|
même sans header, setRequestheader.... ça baigne
|
|
jeudi 18 décembre 2008 à 15:27:35 |
Re : pb de post dans un ajax à cause des accents

ludovicanceaux
|
Chez moi aussi, ca marche quand je l'affiche d'un bloc :), le seul truc qui ne marche pas, c'est quand je veux faire mon tri de chaine, ex: je prends mes 2 premières lettre, et voici ce que ca m'affiche (echo substr($valeur_explode_prod[$i],0,2).'<br>';): Pr Bo Te Fe C?
Par contre si j'ecris ca en bloc, ca marche très bien :) : Production: Bois:3000Parheure Terre:3600Parheure Fer:3000Parheure Céréales:1165Parheure
Dc moi j'ai besoin de manipuler les chaines à l'intérieur et ca ne marche pas, car je ne sais pas ce qui est derrière le point d'interrogation, snif!!!!
|
|
jeudi 18 décembre 2008 à 15:49:25 |
Re : pb de post dans un ajax à cause des accents

ludovicanceaux
|
En fait si tu veux, quand j'ai mon post qui arrive, je fait :
$valeur_post=str_replace(' ','',$_POST['textarea_ajax']);//Je vire tous les espaces $valeur_troupes=explode('Troupes',$valeur_post);//Je sépare la partie production et la partie troupes $valeur_prod=$valeur_troupes[0];//Production $valeur_troupes=$valeur_troupes[1];//Troupes
$valeur_explode_prod=explode('|',$valeur_prod); //Auparavent tout les \n ont étaient remplacé par des | for($i=0;$i<count($valeur_explode_prod)-1;$i++){ if(strpos($valeur_explode_prod[$i],'Céréales')){//On recherche le champ qui correspond aux céréales $production_cece=$valeur_explode_prod[$i]; echo $production_cece; } }
Et là ca ne marche pas car il ne trouve pas le mot céréale avec un accent, il me l'affiche bien, mais il ne le trouve pas quand je fais strpos!!!
Peut etre, ai-je étais plus clair???
|
|
jeudi 18 décembre 2008 à 15:57:08 |
Re : pb de post dans un ajax à cause des accents

Bul3
|
euh... for ($i=0;$i<strlen($_POST['env']);$i++) echo substr($_POST['env'],$i,1);
sans souci non plus...
|
|
Cette discussion est classée dans : post, ajax, heure, céréales, equites
Répondre à ce message
Sujets en rapport avec ce message
verifier champ date et heure [ par dreaman ]
Bjour,j'ai 3 fonctions qui vérifie mes champs de saisie de "date","heure debut" et "heure fin", mais je voudrai rassemblé les trois...comment puis-je
certain caractère non transmis avec POST [ par supers03 ]
Bonjour,Lorsque j'envoi des données via ajax et la méthode POST, le caractère '+' n'est pas transmis, il est remplacé par un espace. J'imagine que c'
ajax / php envoi en post de variables a une page php non prise en compte [ par milan78 ]
bonjour,j ai un formulaire je recolte les donnees de l utilisateur ensuite les traites avec fonction ajax.udapter afin de l afficher dans une div sans
Méthode POST (AJAX) sous Safari [ par eplanet ]
Bonjour à tous, voilà mon problème, j'essaie d'utiliser la méthode POST en AJAX, ca marche bien sous Firefox et sous IE (6 et 7), mais pas sous Safari
une seul variable post passe avec ajax ? [ par caviar ]
Saluté...j'ai un petit problème bizare avec une fonction ajaxen fait un seul des paramètres que je veux envoyer à mon script php passe apparamentsi le
[Ajax] Récupérer données XML sur une url externe [Méthode POST] [ par sarahjtm ]
Bonsoir, Je vous explique très vite mon problème : Je fais un validateur de code allopass en Javascript/Ajax, le problème c'est que l'API Allopass
post formulaire vers une frame d'une autre page [ par xzonz ]
salut a tous et toutes [^^clinoeil1] voila ce que je voudrais faire: j'ai une page avec un formulaire et un bouton submit classique (dans action = m
[BAR]Thèmes qui changent à une certaine heure [ par popeye33 ]
Bonjour, Je ne sais pas si je poste au bon endroit, désolé si ce n'ai pas le cas. Je souhaiterai savoir si il était possible d'avoir 2 thèmes mais qu
Ajax Probleme de recuperation du caracteres & et de ce qui le suit [ par lesucces ]
Bonjour J'ai un formulaire ajax qui me permet de recuperer les données d'un textareas et ça marche correctement sauf que quand je tape le caractere &
recherche automatique ave Ajax [ par cyrilherve ]
bonjour à tous, je developpe des applis web avec php/mysql et un peu de java, mais j' avoue que ajax est vraiment inconnu pour moi. la je boss sur une
Livres en rapport
|
Derniers Blogs
CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks [HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL[HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL par Pierrick CATRO-BROUILLET
Avec la sortie prochaine de la Beta Consumer Preview de Windows 8, j'avais envie de revenir sur une des fonctionnalités que j'attends le plus et que, en bon geek que je suis, j'utilise déjà : Hyper-V 3 ainsi son module PowerShell.
Il y a déjà pléthor...
Cliquez pour lire la suite de l'article par Pierrick CATRO-BROUILLET IIS7 - COMPRESSION GZIPIIS7 - COMPRESSION GZIP par cyril
La compression GZIP permet d'améliorer les performances de navigation en compressant ce qu'envoie le serveur à un client. Pour comprendre comment cela fonctionne, regardons ce qu'il se passe au niveau HTTP lorsqu'un client tente d'accéder à une ress...
Cliquez pour lire la suite de l'article par cyril
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|