ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010
-
18 déc. 2008 à 00:55
ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010
-
18 déc. 2008 à 17:27
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
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();
Teclis01
Messages postés1423Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention29 décembre 20124 18 déc. 2008 à 09:48
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
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 18 déc. 2008 à 09:49
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"
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 :(
Vous n’avez pas trouvé la réponse que vous recherchez ?
ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010 18 déc. 2008 à 12:27
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 :)
ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010 18 déc. 2008 à 12:57
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!!!
ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010 18 déc. 2008 à 15:27
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).'
';):
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!!!!
ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010 18 déc. 2008 à 15:49
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!!!
C chiant, ces histoires d'encodage, j'ai retourné le pb dans tout ces sens, et le truc c'est que c'est impossible pour moi de paser ma chaine, tant que mon "é" prendra 2 caractères au lieu d'1!!!!! ou bien il faudrait que je saches à koi correspondent mes 2 caractères ^^ pour savoir quoi parser
ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010 18 déc. 2008 à 17:27
Enorme ca marche!!!!!!! merciiiii beaucoup!!!!!
mais hôte moi d'un doute, je ne vois pas la différence entre mon header et le tiens.
header('Content-Type: text/html; charset=ISO-8859-1'); <= Le miens
header('Content-Type: text/html; charset=ISO-8859-1'); <= Le tiens
donc pk avec ton code ça marche, mais pas avec le miens??