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 -
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
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 :
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 :
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
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:
- Collation et caracteres ds requete avec like
- Caractères ascii - Guide
- Caractères spéciaux - Guide
- Caractères spéciaux mac - Guide
- Voir like instagram - Guide
- Coco like - Accueil - Réseaux sociaux
2 réponses
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 !
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 !