Encodage lors d'une recherche

Résolu
cyse Messages postés 18 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 10 décembre 2008 - 5 déc. 2007 à 14:57
cyse Messages postés 18 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 10 décembre 2008 - 6 déc. 2007 à 12:29
Bonjour,

Lorsque j'effectue une recherche, mettons "d'une" j'ai sans arret un \ qui se met devant l'apostrophe ou le quote. ca donne "d\'une". du coup j'ai des erreurs ce qui est logique.
Comment puis-je eviter ca ?
En gros je cherche à garder exactement la ligne qui passe lors d'un get en formulaire. Par exemple pour "évolution primitive" ca se transforme en "%C3%A9volution+primitive" dans l'url. Le problème c'est qu'avec la pagination que j'essai de faire pour un moteur de recherche interne, j'ai la recherche qui s'imprime sans aucun caractère ascii ce qui provoque de rééls problèmes pour les pages suivantes.

Voici la ligne de code:
         echo ' [recherche.php?search='.$search.'&page='.$i.' '.$i.'] ';

Bien cordialement,

2 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
5 déc. 2007 à 19:24
Salut,

Pour les apostrophes, il faut passer ta chaine dans stripslashes() :
http://www.php.net/manual/fr/function.stripslashes.php

Pour l'encodage des caractères dans l'url, je te déconseille d'avoir un caractère accentué, parce que ce n'est pas conforme aux standards. Mais bon.
Les url sont encodées avec url_encode() et peuvent être décodées avec url_decode() :
http://www.php.net/manual/fr/function.urlencode.php
http://www.php.net/manual/fr/function.urldecode.php
3
cyse Messages postés 18 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 10 décembre 2008
6 déc. 2007 à 12:29
Merci beaucoup !

Stripslashes m'a réparé ce problème.
Pour le url_encode et url_decode j'essai encore de faire ca proprement mais je vais y arriver. Merci encore
0
Rejoignez-nous