Bonjour à tous.
Tout le monde cherche à supprimer les accents, moi je veux les garder et ne trouve pas la solution.
Sur le net une foule de trucs pour les supprimer mais l'inverse, pas trouvé.
Données de base :
- base de données en utf8_general_ci
- champs intéressés de type text ou varchar
Problème :
- module de recherche de mot
- si mot accentué, recherche de ces SEULS mots accentués (et tant pis pour ceux qui oublient les accents)
Etat des lieux :
- utilisation de : WHERE mot LIKE '%$recherche%'
- j'ajoute aussi, mais c'est un détail (d'ailleurs inutile avec LIKE) : OR name LIKE '%ucfirst($recherche)%' or name LIKE '%strtoupper($recherche)%'
Résultat :
- pour une recherche sur le mot ou partie de mot "été" me renvoie aussi les mots contenant "ete", "ête", "éte", "ète" ... j'en passe et des meilleurs.
- soit une foule de résultats inutiles (une recherche sur "é" me donne tous les enregistrements de la base, oups !)
Solution très provisoire, j'espère :
- surlignage du seul mot réellement cherché (éventuellement accentué et casses variables) dans l'affichage des résultats
Peut-être qu'en FULLTEXT et avec MATCH mais là j'atteins mes limites.
Merci, oh nobles spécialistes, de vous pencher sur le pb de ma misérable personne !
Tout le monde cherche à supprimer les accents, moi je veux les garder et ne trouve pas la solution.
Sur le net une foule de trucs pour les supprimer mais l'inverse, pas trouvé.
Données de base :
- base de données en utf8_general_ci
- champs intéressés de type text ou varchar
Problème :
- module de recherche de mot
- si mot accentué, recherche de ces SEULS mots accentués (et tant pis pour ceux qui oublient les accents)
Etat des lieux :
- utilisation de : WHERE mot LIKE '%$recherche%'
- j'ajoute aussi, mais c'est un détail (d'ailleurs inutile avec LIKE) : OR name LIKE '%ucfirst($recherche)%' or name LIKE '%strtoupper($recherche)%'
Résultat :
- pour une recherche sur le mot ou partie de mot "été" me renvoie aussi les mots contenant "ete", "ête", "éte", "ète" ... j'en passe et des meilleurs.
- soit une foule de résultats inutiles (une recherche sur "é" me donne tous les enregistrements de la base, oups !)
Solution très provisoire, j'espère :
- surlignage du seul mot réellement cherché (éventuellement accentué et casses variables) dans l'affichage des résultats
Peut-être qu'en FULLTEXT et avec MATCH mais là j'atteins mes limites.
Merci, oh nobles spécialistes, de vous pencher sur le pb de ma misérable personne !