Bonjour,
Voilà j'avais le problème suivant : dans ma page php les caractères  s'affichaient plusieurs fois, j'avais donc parcouru le forum et pu corriger cela en modifiant l'encodage des caractères.
en effet après avoir lu cette page : http://french.joelonsoftware.com/Articles/Unicode.html (trouvée sur le forum d'ailleurs), j'avais décidé de tout mettre en utf-8 et effectivement cela a réglé le problème.
C'est à dire que ma bdd mysql est en utf-8, mes fichiers php sont en utf-8 et j'ai pris le soin d'ajouter à mes fichiers :
Puis quelques jours et lignes de codes plus tard, je me rend compte qu'une requete ne fonctionne plus. Surpris j'essaie de comprendre pourquoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <meta content=\"text/html; charset=UTF-8\" http-equiv=\"content-type\">
cette requete fait un count et doit normalement renvoyer 12 or je récupère 0.
je fais un echo de ma requête dans mon fichier php qui affiche sur ma page :
je décide d'aller dans phpmyadmin, et de copier la requete dans la partie "SQL" pour l'executer, et là surprise ! on m'affiche cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT champ FROM table;
[CODE#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT champ FROM table
[/CODE]
visiblement les caractères  se trouvent juste devant mon SELECT, pourtant ils n'apparaissement pas sur la page web, ni dans le cadre de l'onglet "SQL" de phpmyadmin destiné a recevoir du code SQL, mais si je copie colle la requete de la page web vers le bloc notes effectivement je vois un carré devant mon select.
N'y aurait il pas du avoir une erreur mysql affichée puisque mon code est :
Evidemment ma requete sans  testée sous phpmyadmin marche...
Code : Sélectionner tout - Visualiser dans une fenêtre à part $requete = mysql_query($req) or die("Erreur mysql dans la requête de récupération du nombre d'équipes : ".mysql_error()."<br>\n" );
Après d'autres recherches, en fait a chaque fois ma requête est encadré de cette façon :
en changeant l'encodage des fichiers de utf-8 à utf-8 sans BOM ça donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part requete
ils restent toujours ces deux  à la fin de la requête qui font foirer !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part requete
Donc si j'ai bien compris mysql reçoit une requête codé en utf-8 et comme lui il doit s'attendre à un autre encodage alors les caractères  apparaissent et font foirer la requête.![]()
bref je sais plus trop quoi faire, je suis ouvert à toute proposition![]()
Partager