caractères  rencontrés par MySql
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 :
Code:
<meta content=\"text/html; charset=UTF-8\" http-equiv=\"content-type\">
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.
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 :
Code:
SELECT champ FROM table;
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#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 :
Code:
$requete = mysql_query($req) or die("Erreur mysql dans la requête de récupération du nombre d'équipes : ".mysql_error()."<br>\n" );
Evidemment ma requete sans  testée sous phpmyadmin marche...
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 :
ils restent toujours ces deux  à la fin de la requête qui font foirer !!!
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.:aie:
bref je sais plus trop quoi faire, je suis ouvert à toute proposition :king: