Bonjour,

Je travaille sur un système d’administration pour un site. À date tout va bien sauf l’encodage des caractères passant par le PHP (c’est ma première expérience en php, et étrangement tout le reste marche bien – allez savoir!)

Donc, je ne veux pas faire trop compliquer, mais je vais exposer les comportements :

-Le html est en UTF-8 – Tout marche à ce niveau
-Mes tables Mysql sont en encodage utf-8, et tout marche lorsque j’enregistre une donnée dans mes tables via un formulaire html. Donc, les données enregistrées s’affiche correctement lorsqu’elles sont appelés ensuite.

Cependant, deux comportements posent problèmes :
-Lorsque je rentre directement les donnés via Phpmyadmin.
-Lorsque du texte est envoyé par un echo.

Le problème d’encodage touche les caractères comme les a ou le e accentuées qui sont remplacé par des losanges noir avec un point d’interrogation.

Donc, je présume que le problème vient des paramètres du pré-processeur PHP (en passant, j’utilise wamp pour les tests en réseau local)…

Merci pour votre aide!
Modifié par Vaxilart (13 Mar 2010 - 05:25)
Salut, je crois bien que l'encodage est bien déclaré (le texte contenu simplement dans la page web est bien affiché). Je copie quand même le head au cas où:

<!DOCTYPE html>
<html lang="fr">
  <head>
	  <meta charset="utf-8">
	  <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
      <link rel="stylesheet" media="all" href="style/admin.css" />
  </head>


J'ai essayé tes deux solutions, à prime abord ça semble marcher mais seulement sur les informations venant des requêtes au serveur. Les echo affichent encore des losanges noirs à la place des caractères accentués.
A priori les losanges noirs correspondent à du latin1 servi en tant qu'utf-8. Tes pages sont bien enregistrées en utf8 ?
Ah! Mon dieu, Merci! Smiley biggrin


J'avais codé mes pages de gestion PHP sur mon portable, et je n'avais pas pensé à faire mes réglages d'encodage sur ce pc là!

C'est bon: [résolu]