8791 sujets

Développement web côté serveur, CMS

bonjour,

j'ai beau tourner dans tous les sens, je ne comprendrai jamais comment les accents sont gérés dans PHP/MySql.

voici un synoptique de mon code.

- les tables de la base mySql sont en utf-8
- formulaire de saisie, il contient une commande mysql_query("SET NAMES 'utf8'");
- les champs saisis dans le formulaire contiennent bien les accents.
- fichier qui lit les enregistrements, il contient une commande mysqli_set_charset($dbc, 'utf8');
(je sais, j'ai mixé mysql et mysqli mais le problème n'est pas là)

pour que je puisse voir les accents dans le résultat affiché suite à une requête, je suis obligé d'encadrer les éléments avec la fonction utf8-decode, comme ceci

echo utf8_decode($row['le_champ']);

donc à quoi ça sert-il de déclarer le charset dans la page?

merci
Réponse bête...mais au delà de déclarer le charset de ta page, es ce que ta page est enregistrée en UTF-8 ???

Sur Notepad++ : Encodage > Encoder en UTF-8. Ca marche très bien aussi avec le bloc-notes windows.
Modifié par G3ronim0 (29 Apr 2012 - 13:56)
tu as raison, en fait là je fais des test il n'y avait que du php dans ma page, je viens de rajouter
un <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
et maintenant ça marche...


un grand merci à toi