Salut,
je travaille actuellement à un petit moteur de recherche sur un site en php/mysql
et je me trouve confronté à ce problème :
je stocke mes données texte dans la base, aprés avoir transformé tous les caractères spéciaux dans leur equivalent html, ceci à l'aide de la fonction php : htmlentities() ce que tout le monde conseille apparemment...
j'ai ensuite un champ de recherche, dont je récupère la valeur (aprés l'avoir passée par htmlentities), et que j'envois dans une requete mysql de type fulltext (bien pratique pour la pertinence des résultats!)
jusque là tout va bien, si je recherche étoile (avec un accent), et que le mot étoile est trouvé dans la base, ca marche
MAIS si je recherche etoile (sans accent!!!) je n'ai bien entendu aucuns résultat
hors, je pense qu'il y'a plus de probalilité que les visiteurs fassent des recherches sur des expressions sans les accents que le contraire
mon moteur n'est donc pas valide !
je me dis qu'il y'a peut être une fonction dispo dans mysql qui permet de passer outre ce problème, du genre -> une requete qui serait capable de comparer l'expression voulue avec celles contenues dans la base AVEC et SANS les caractères spéciaux (le é serait remplacé par le e, è par e, ç par c ...etc...)
j'ai bien cherché dans les fonctions sur les chaines de caractère de mysql, mais je n'ai rien trouvé
quelque developpeur aurait-il un indice ?
Clt,
Antoine
Partager