$_GET et les accents ??

marcvart Messages postés 2 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 14 novembre 2009 - 13 nov. 2009 à 22:24
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 19 nov. 2009 à 21:50
marcvart
Bonjour,

J'envoie par le biais d'un lien des variables contenant des accents et lorsque je les lis avec $_GET, les accents se transforment en hiéroglyphes imprononçables.


la personne doit cliquer dans un mail qu'elle a reçu sur le lien suivant :

http://www.tartampion.com/toto/retou...amp=1258140431

et je récupère dans retour_email.php avec $_GET (je teste avec un echo à la sortie du $_GET)

nom devient : réré et prenom : gégé le "é" signifiant vous l'aurez compris "é".

Quelqu'un peut-il m'expliquer et me donner la solution.

Voici le bout de code incriminé !

// Si les variables existent
if (isset($_GET['nom'])AND isset($_GET['prenom'])AND isset($_GET['email']))
{
// Si on a quelque chose à enregistrer
if ($_GET['nom'] != NULL AND $_GET['prenom'] != NULL AND $_GET['email'])
{

echo $_GET['nom'];
echo $_GET['prenom'];


On m'a proposé d'utiliser urlencode et urldecode mais j'ai beaucoup de mal a appliquer ce que j'ai lu à mon code. Quelqu'un peut-il m'aider ?

5 réponses

ircland Messages postés 99 Date d'inscription mardi 22 août 2006 Statut Membre Dernière intervention 9 septembre 2014
14 nov. 2009 à 04:37
Salut,

tu peux commencer par essayer de mettre l'encodage de ta page en UTF-8 ou sinon essaye

pour encoder tes variables

$tavar htmlentities($taString);

sur ton autre page
$tavardecoder = html_entity_decode($taStringEncode);
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
14 nov. 2009 à 09:53
Perso je n'envoie pas ce genre d'info par GET. Essaie plutot par post, ce sera plus propre.
S.
0
marcvart Messages postés 2 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 14 novembre 2009
14 nov. 2009 à 10:49
marcvart
mais je croyais que dans les liens on ne pouvait envoyer que des GET ??
0
phpAnonyme Messages postés 392 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 23 mars 2012 55
19 nov. 2009 à 19:52
Oui GET c'est pour récupérer des variables passer en lien mais ça t'empêche pas de passer les variables par POST dans le cadre d'un formulaire ce qui est préférable...mais tout ça c'est du pareil au même !

Sinon, pour revenir à ton problème vérifie que l'encodage de ton fichier est en ANSI et que le charset soit en UTF-8 ou iso-8859-1

______________________________________________________________________
Test du chi2
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
19 nov. 2009 à 21:50
Salut,

Même si POST est préférable (encore que ...) ça ne réglera pas le problème.
Comme cela a été soulevé tu as un pb d'encodage; rien à voir avec htmlentities, urlencode and co, même si cela peut passablement être une solution.

Dans ce genre de cas il faut connaitre les encodages successifs :
- le mail
- la page

Tu as vraisemblablement une discordance à ce niveau.


Cordialement,

Kohntark -
0
Rejoignez-nous