Encodage lors d'une recherche [Résolu]

Signaler
Messages postés
18
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
10 décembre 2008
-
Messages postés
18
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
10 décembre 2008
-
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

Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
17
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
Messages postés
18
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
10 décembre 2008

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