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.
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 : [php]header('Content-Type: text/html; charset=UTF-8');[/php]
Je récupère les données du champ de recherche en les convertissant avec : [php]$var = addslashes(htmlentities($_GET['recherche'],ENT_QUOTES,'UTF-8'));[/php]
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é
[sql]
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 )
[/sql]
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.