Collation et caracteres ds requete avec like

Résolu
diice Messages postés 131 Date d'inscription   Statut Membre Dernière intervention   -  
diice Messages postés 131 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Je ne sais pas si c'est le bon forum, mais je vous explique mon problème.

J'ai fait un site en utf8
<meta charset="utf-8">


ma base de données, mes tables et chaque champs sont aussi en utf8_general_ci.

Je suis en train de faire un moteur de recherche sur mon site qui interrogera ma base de donnée avec la requete 'where' et 'like' du style :
select titre from MATABLE where LOWER(titre) like '%$_POST['titre']%'


dans ce cadre là, j'ai évidemment un problème quand je veux chercher dans ma table un mot qui peut etre avec un accent. (le probleme des majuscules est réglé par le LOWER).

1°) exemple : la personne veut chercher le mot "ingénieur"
dans ma table, ingénieur est rentré comme ça : "ingénieur" (déjà est-ce normal ?)

donc forcément quand la personne met "ingénieur" dans le champs rechercher il n'y a aucune réponse...

2°) si la personne met "ingenieur" (sans accent), il ne trouve rien non plus !

j'avoue que jusqu'ici j'ai jamais eu le probleme quand je mettai ma table en latin1_general_ci. mais j'ai lu que le utf8 etait tendu a devenir le plus standard, du coup j'ai paramétré ma table en utf8 et je me retrouve devant ce probleme !!

j'ai essayé en mettant COLLATE :
select ... LOWER(titre)  COLLATE utf8_general_ci like '%$_POST['titre']%'

et ca ne marche pas
avec un htmlentities($_POST['titre']), il recherche : "ingénieur", donc pas bon non plus !

comment puis-je résoudre mon probleme ??

merci par avance a vous,
bonne soirée

A voir également:

2 réponses

OlivrT Messages postés 323 Date d'inscription   Statut Membre Dernière intervention   36
 
Tu as été sur cette page ?

http://dev.mysql.com/doc/refman/5.0/fr/charset-collate.html
0
diice Messages postés 131 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour,

Non effectivement, je n'ai pas été sur cette page qui peut me servir ultérieurement ! je l'ai gardé en favoris d'ailleurs ! merci beaucoup :)

En fait après maints et maints tests je me suis apercu tout betement, que c'etait une erreur venant de mon admin... effectivement, l'admin que je copie sur chaque site etait en Iso-8859-1 !!! donc, forcément, je pouvais pas y arriver, y'avait toujours un truc qui clochait !
donc, j'ai tout remis en ordre, et comme par hasard ... ca marche nikel...

pourquoi chercher compliqué !! on se demande parfois !!
merci de ton aide !
0