[HTML] Problème d'encodage - Problème de détection de l'encodage

Bonjour,

je viens vous embêter à cause d’un problème de détection d’encodage en XHTML. Tout d’abord, voici l’entête de mes fichiers :

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>Bienvenue sur mon site Web</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  <meta name="GENERATOR" content="Quanta Plus" />
  <link rel="stylesheet" type="text/css" href="http://phpub.pgentoo.local/css/frame.css" />
  <link rel="stylesheet" type="text/css" href="http://phpub.pgentoo.local/css/general.css" />

  <link rel="stylesheet" type="text/css" href="http://phpub.pgentoo.local/css/couleurs/defaut/couleur.css" />
</head>
<body>

J’ai fais de test avec plusieurs navigateurs (dont firefox) et tous, ils m’affichent mon site en utilisant l’encodage ISO-8859-1 au lieu de UTF8. Les fichiers sont enregistrés en UTF8 et le code généré par PHP contient lui aussi des caractères accentués pour le texte (que je ne veux pas remplacer par leur code). Comme vous le devinez, afficher des caractères UTF8 en ISO, ça déconne. Je voudrais savoir d’où ça peut venir sachant que sur d’autres site web (indifféremment UTF8 ou ISO), mes navigateurs fonctionnent correctement.
J’ai l’impression que les navigateurs ne tiennent pas compte des balises où je précise l’encodage…

Je vous remercie pour vos réponses.

Les navigateurs regardent du côté des en-têtes HTTP pour l’encodage , et PHP spécifie par défaut ISO-8859-1 :wink: Le plus simple c’est d’ajouter une commande header au début du code.

<?php
  header('Content-type: text/html; charset=utf-8');
?>

Ou de modifier le php.ini en conséquences.