Bonjours,

Je viens vous voir car j'ai un souci avec mon site en UTF-8.

Lors de l'affichage de données de ma base de données, tout se passe bien, je n'ai aucun soucis avec mes caratères accentués.

Mais lorsque j'insère des données dans ma base avec un formulaire POST, les accents ne passent pas et sont mal affichés dans PhpMyAdmin et sur les pages de mon site.

Merci de m'aider, je suis perdu

Au revoir
Bonjour,

1. Les tables et colonnes de la base de données sont bien marquées comme étant en UTF-8? (Ça se voit notamment à l'interclassement — en anglais: collation — des tables et colonnes.)
2. La connexion avec la base de données se fait bien en UTF-8? (C'est à dire que le serveur est paramétré pour des connexions en UTF-8 par défaut, ce qui est rarement le cas, ou bien qu'on a utilisé une requête du type SET NAMES "utf8").
Et bien la config devrait être correcte puisque l'affichage de données accentuées fonctionne parfaitement.

Si j'insère dans la base de donnée un texte avec des accents par l'intermédiaire de PhpMyAdmin et que je l'affiche ensuite sur une page encodé en UTF-8 avec la balise meta UTF-8 et l'entete HTTP utf-8 le texte s'affiche parfaitement.

Mais par contre, sur la même page, si j'insère du texte par l"intermédiaire d'un formulaire POST, les accents ne s'affichent pas correctement dans phpmyadmin et ne s'affichent pas non plus lorsque je les affichent sur la page php.

Je sais pas sous vous voyez mon problème ?

Je suis perdu Smiley decu
Salut, salut,

tu as bien rajouté
mysql_query("SET NAMES UTF8");
après la connexion à ta BDD ?
Oui, mais dans ce cas, pourquoi l'affichage est correcte ? Pourquoi l'affichage de caratères accentués est nikel ?
Manu_56 a écrit :
Oui, mais dans ce cas, pourquoi l'affichage est correcte ? Pourquoi l'affichage de caratères accentués est nikel ?

Pour répondre il faudrait savoir très exactement quelle est la nature des données que tu as en base (PhpMyAdmin n'est pas un moyen fiable pour cela, car c'est une application qui se connecte à la base en utilisant un encodage précis pour la connexion, en général UTF-8 pour les versions récentes). Et savoir exactement quelles sont les opérations qui sont effectuées pour l'affichage:
- encodage de la connexion?
- conversions éventuelles?