Problème de requêtes SQL avec accents

Fermé
Web83 - 4 nov. 2011 à 00:05
 Web83 - 4 nov. 2011 à 21:52
Bonsoir à tous,


J'ai actuellement un problème PHP/SQL (désolé, je ne sais pas trop d'où vient l'erreur en fait) concernant l'éxecution d'une requête.


Contexte : Site développé en PHP avec base de données MySQL en faisant des requêtes à l'aide de PDO.

Au niveau de la partie PHP, j'ai le code suivant dans <head> :

<meta http-equiv="content-type" content="text/html; charset=utf-8" />


Juste après avoir établi la connexion avec ma base de données :

$bdd->query("SET NAMES 'UTF8'");


Dans ma base de données, j'ai une table qui contient un champ category de type ENUM qui contient la valeur :
'Non testé','Testé','Nul' 

L'interclassement du champ est utf8_bin.


Ce que je veux : Sélectionner tous les champs de cette table dont la catégorie est : 'Testé'


Ma requête :
$category = 'Testé'
$reponse = $bdd->query("SELECT * FROM MaTable WHERE category = '".$category."'");



J'ai 2 entrées dont le champ category est fixé à 'Testé' dans MaTable. En faisant mon while($resultat = $reponse->fetch()){ , je devrais pouvoir retrouver les données concernant ces 2 entrées. Il se trouve que la réponse que j'obtiens est vide.


Bizarrerie : Si je fais un echo de ma query avant de l'éxecuter, et que je copie-colle ce qui est affiché dans une requête MySQL, l'interface MySQL me ressort bien les 2 entrées que je cherche.


Remarque : Si je fixe $category = 'Nul', il me ressort bien toutes les entrées dont le champ category est fixé à 'Nul'.


Je pense qu'il s'agit donc d'un problème d'accent, mais je ne vois pas bien où, car lorsque j'imprime à l'écran ma requête et que je l'exécute dans l'interface MySQL, j'obtiens bien le résultat attendu.


Ce que j'ai déjà testé sans succès :
1) < ?php header('Content-Type: text/html; charset=utf-8'); ?> dans le début de page.
2) utf8_encode() et utf8_decode() sur $category
3) SELECT * FROM 'table'WHERE 'texte' LIKE CONVERT(_utf8 '%cinema%' USING utf8) COLLATE utf8_general_ci ;


En vous remerciant d'avance à tous pour votre aide !
A voir également:

1 réponse

m-a-o-u-s-i Messages postés 188 Date d'inscription dimanche 29 mai 2011 Statut Membre Dernière intervention 28 janvier 2013 51
4 nov. 2011 à 17:14
Salut,

Tu as vérifié si ce n'est tout simplement pas ton fichier qui a mauvais encodage ?
0
Oui c'est vérifié ;) J'avais oublié de le mettre dans les vérifications que j'ai déjà effectuées. Merci ;)
0