mysql, recherche sans accents

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : mysql, recherche sans accents

Re: mysql, recherche sans accents

par Dr@ke » 18 nov. 2009, 11:31

Tu peux aussi utiliser ceci:
mysql_set_charset("utf8");

Re: mysql, recherche sans accents

par alexRapide » 18 nov. 2009, 00:56

Resolu :
mysql_query("SET CHARACTER SET 'utf8'");
==>
mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'");

mysql, recherche sans accents

par alexRapide » 17 nov. 2009, 21:23

Bonjour.
Je ne comprend pas pourquoi les données d'une table ne sont pas affichés quand je fais une recherche.
Ma table `documentation_sujet`contiens deux champs (titre, documentation ) avec interclassement utf8_general_ci

Toutes mes pages sont encodé en utf8
et mon script possède également la commande :
header('Content-Type: text/html; charset=UTF-8');
Je récupère les données du champ de recherche en les convertissant avec :
$var = addslashes(htmlentities($_GET['recherche'],ENT_QUOTES,'UTF-8'));
Bref, je me suis assuré que tout fonctionne en utf8. Malgré cela rien n'y fait, la requête ne retourne pas de résultat.

j'en ai dailleur testé plusieurs requetes.

Par exemple je recherche : Généralité
SELECT * FROM `documentation_sujet` WHERE (`titre` COLLATE utf8_general_ci LIKE CONVERT(_utf8 '%Généralité%' USING utf8) COLLATE utf8_general_ci || `documentation` COLLATE utf8_general_ci LIKE CONVERT(_utf8 '%Généralité%' USING utf8) COLLATE utf8_general_ci ) 
aucun résultat dans phpmyadmin.
en revanche ils existe mais ne s'affichent pas correctement.
Dans phpmyadmin les accents sont mal encodé : exemple Généralité => Généralité
Hors pourtant j'ai bien encodé ces champs avant de les enregistrer.
Pour preuve, Généralité s'affiche Généralité dans la page php.

Comment recherche dans cette foutue table pour ne pas prendre en compte les accents ?
Merci a vous.
cordialement Alex.