Récupération mot avec accent dans base MYSQL

Fermé
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 6 mai 2014 à 11:53
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 6 mai 2014 à 16:38
Bonjour,

J'ai un menu par lequel je vais récupérer des éléments dans ma base.
Une des colonnes de ma base (prénom) contient des accents ou autre caractères spéciaux.
Si je recherche un prénom avec accent (agnès), que je recherche "agnès", "agnes" ou "agnés", aucun résultat n'apparait.
Voici mon code :
$prenom= $_POST['prenom'];
..................
$select = "SELECT * FROM xxxx WHERE prenom LIKE '%$prenom%' ORDER BY prenom ASC";
Quelle solution apportée ?
Merci
A voir également:

5 réponses

reaverlost Messages postés 150 Date d'inscription jeudi 27 mai 2010 Statut Membre Dernière intervention 14 mai 2018 21
Modifié par reaverlost le 6/05/2014 à 11:58
Salut,

Quel est l'encodage de ta table?

Avant de faire la requête de recherche, fais ça :

$prenom= utf8_decode($_POST['prenom']);
..................
$select = "SELECT * FROM xxxx WHERE prenom LIKE '%$prenom%' ORDER BY prenom ASC";
0
Utilisateur anonyme
6 mai 2014 à 11:59
salut ,


souvent le problème vient de l'encodage. Je ne pourrai pas t'aider beaucoup plus car si je ne suis pas sur place c'est assez galère de bien tout vérifier. La solution "facile" pour commencer serai d'ignorer les accent lors des insertions.

Sinon, tu peux regarder du côté de l'échappement de caractères en php, et regarder l'encodage de ta colonne + connaitre l'encodage renvoyé en php + les échappement de caractère (peu être qu'en base tu as stocké é par exemple au lieu de é)

naga
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
6 mai 2014 à 14:24
Merci reaverlost !
Ta solution fonctionne effectivement quand je recherche un mot avec un caractère spécial. C'est à dire si je saisi "Agnès", j'ai les "Agnès". C'est déjà un bon point !
Mais si je saisie "Agnes", j'aurais voulu avoir les "Agnès". Si je saisi "noel", je voudrais avoir les "noël" ..........
Comment faire ?
0
reaverlost Messages postés 150 Date d'inscription jeudi 27 mai 2010 Statut Membre Dernière intervention 14 mai 2018 21
6 mai 2014 à 14:43
J'ai fais le test chez moi et ça fonctionne, ta table est encodée en utf8_general_ci?
0

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

Posez votre question
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
6 mai 2014 à 16:38
Moi aussi elle est en utf8_general_ci !
Mais si je recherche "Agnes", "Agnès" n'apparait pas !!! ???
0