par
inuendo » 25 janv. 2006, 00:02
Salut,
alors suite à ma découverte de FULLTEXT, je suis arrivé à ce genre de requête SQL qui répond pas mal à mes attentes :
Code : Tout sélectionner
SELECT champs1,champ2, champ3, MATCH (champ1,champ2) AGAINST ('motcherché') AS score FROM table WHERE MATCH (champ1,champ2) AGAINST('motcherché*' IN BOOLEAN MODE) ORDER BY score DESC
Le seul souci que je rencontre est lié à l'accentuation :
Si je tape le mot journée, il me renvoie des réponses qui n'ont rien à voir avec le mot journée. Et dès qu'il y a un accent en général, ça ne marche plus. Cela marche normalement avec un LIKE. Est-ce inhérent à la fonction ?
Devrais-je appliquer un htmlentities ('','', UTF-8) ??
J'ai voulu passer à php1.8 mais j'avais un problème d'affichage des caractères asiatiques (import de la table en latin1, ça marche, si je change en utf-8, je lis les données dans la table mais j'ai ??? sur le site)
Une idée ? Merci^^
Salut,
alors suite à ma découverte de FULLTEXT, je suis arrivé à ce genre de requête SQL qui répond pas mal à mes attentes :
[code]SELECT champs1,champ2, champ3, MATCH (champ1,champ2) AGAINST ('motcherché') AS score FROM table WHERE MATCH (champ1,champ2) AGAINST('motcherché*' IN BOOLEAN MODE) ORDER BY score DESC[/code]
Le seul souci que je rencontre est lié à l'accentuation :
Si je tape le mot journée, il me renvoie des réponses qui n'ont rien à voir avec le mot journée. Et dès qu'il y a un accent en général, ça ne marche plus. Cela marche normalement avec un LIKE. Est-ce inhérent à la fonction ?
Devrais-je appliquer un htmlentities ('','', UTF-8) ??
J'ai voulu passer à php1.8 mais j'avais un problème d'affichage des caractères asiatiques (import de la table en latin1, ça marche, si je change en utf-8, je lis les données dans la table mais j'ai ??? sur le site)
Une idée ? Merci^^