Problème d'accents entre formulaire et bddSQL

Fermé
Clay - Modifié par Clay le 2/08/2010 à 03:55
 Mohamed - 5 août 2010 à 15:31
Bonjour ^__^

Je m'essaye un peu à php/mySQL via wampserveur, et j'ai un peu de mal avec les valeurs des champs [ohwell] : si j'insère de nouvelles valeurs textuelles via un formulaire que j'ai créé, elles apparaissent sous l'interface phpmyadmin avec des caractères byzaars à la place des accents : "à délèter" (faute volontaire pour illustrer ^o^) devient "à délèter"... Si je fais un echo avec cette valeur sur une page, c'est bon, elle retrouve ses accents, mais dans la base de données c'est moche, et ce n'est pas normal j'imagine, car si j'insère des valeurs avec l'outil de wamp (pas via mon formulaire) les accents sont bien présents dans ce cas... Voyant ça, je me suis dit que le problème était simple ^__^ : ma page web a un mauvais encodage de caractères. Ni une ni deux : je passe mon utf-8 en occidental (iso-8859-1), et là c'est bon : les valeurs rentrées dans le formulaire ont bien leurs accents dans la base de donnée. Sauf que... Tout le reste de ma page a récupéré le problème d'accents X-D... C'est un peu le serpent qui se mord la queue. Pourtant, quand je regarde la page d'insertion de valeurs de wamp, elle a bien utf-8 dans son head, alors qu'est-ce qui fait la différence avec mon formulaire à moi (en dehors de mon inexpérience) ? Où faudrait-il intervenir (formulaire ou paramètres wamp) et comment ? J'ai trituré les interclassements pour essayer de voir si ça changeait quelque chose, mais rien n'a été concluant, je reste au final pour ma table avec "utf8_general_ci", avec "Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)" sur lapage principale de wamp et utf-8 pour firefox (donc tout est comme pour ma page de formulaire pourtant). Ça doit être un truc tout bête, mais ça fait plus de trois heures que je bidouille en vain ^__^°, et je crois que j'ai épuisé mes ressources... J'ai aussi essayé la solution de ce topic : https://forums.commentcamarche.net/forum/affich-17826771-accents-et-mysql-easyphp, en essayant même de remplacer le utf-8 proposé par l'occidental, mais ça me donne juste des mauvais codages différents de l'actuel. Avec le "charset=windows-1252" d'un autre topic, ça passe dans la bdd mais pas sur la page...


1 réponse

Bonjour,

Assure toi que ta page et que ta base de données ait le meme encode UTF-8.

Au passage lorsque tu fais ton
mysql_connect(NOM_SERVEUR, IDENTIFIANT, MOT_DE_PASSE);
mysql_select_db(NOM_BD);
....rajoute mysql_query("SET NAMES 'utf8'");

SET NAMES indique avec quel jeu de caractères on envoie les données à MySQL

Et tout devrait fonctionner...


Mohamed.

-----------
Pub supprimée Modération CCM
Webmaster
0