Bonjour,

J'ai voulu m'intéresser avec plus d'attention aux déclarations du doctype et du charset, mais catastrophe Smiley cligne Le validateur W3C n'arrive pas reconnaître le second...

<?xml version="1.0" encoding="iso-8859-1"?>
<!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" xml:lang="fr">

<head>
<meta http-equiv="Content-Script-Type" content="text/javascript; charset=iso-8859-1" />


J'ai trouvé sur Openweb cet article, qui indique cela :
<?xml version="1.0" encoding="iso-8859-1"?>


Mais J'ai du code PHP, placé au tout début de ma page.
Le <?xml ..., quand je le mets, me cause une grosse erreur :x
Parse error: parse error, unexpected T_STRING in /home/header.php on line 77

Et bon si je l'enlève le W3C ne reconnaît plus mon encodage...

Merci d'avance pour votre aide.

/edit
Bon je pense que le problème vient de la balise de fermeture de php et de xml qui est la même "?>" et qui crée donc un conflit...
Mais comment le résoudre ?
Modifié par Corinne (15 Jul 2006 - 16:59)
Bonjour,

Pour le petit os PHP classique, voir la FAQ du forum: http://forum.alsacreations.com/faq/#item71

Cela dit, le prologue XML n'a qu'un utilité très limitée, voire nulle, en XHTML traité en tant que HTML. Sont essentiels en revanche:
- le champ HTTP Content-Type
- la meta http-equiv "Content-Type" (pas "content-type-script", qui n'a aucun rapport et qui est anecdotique dans la plupart des cas).

Cf http://www.blog-and-blues.org/weblog/2004/08/16/275-encodage-caracteres-xhtml
Modifié par Laurent Denis (15 Jul 2006 - 16:13)
Merci beaucoup !

Puisque j'utilise xhtml traité en tant que html, je le supprime donc. Et j'ai utilisé ta méthode :
header("Content-type: text/html; charset=ISO-8859-1");


Je ne connaissais pas du tout ce genre de pratique ! Par curiosité, excepté par le biais de la balise xml, n'existe-t-il aucun autre moyen que de passer par le PHP ?

Pour le "content-type-script", c'est une indication que m'avait fourni Validome lors de mes tentatives de validation. C'est "nettoyé" Smiley cligne
Corinne a écrit :
Par curiosité, excepté par le biais de la balise xml, n'existe-t-il aucun autre moyen que de passer par le PHP ?


Il est bien-sûr possible de configurer le serveur pour qu'il génère les champs HTTP content-type de son choix. C'est un paramétrage des valeurs par défaut de PHP, en quelque-sorte. Ce qui revient au même, finalement.

Dans tous les cas, le charset d'un fichier (X)HTML en ligne est déterminé prioritairement par cet en-tête HTTP, réglé côté serveur avec PHP ou ses fichiers de configuration, ou avec ASP ou la configuration du serveur Microsoft...

Corinne a écrit :

Pour le "content-type-script", c'est une indication que m'avait fourni Validome lors de mes tentatives de validation. C'est "nettoyé" Smiley cligne


Hum. Validome est un outil prometteur mais agaçant : il émet des recommandations et valide des choses un peu dans tous les sens, sans qu'on sache vraiment à quoi il se réfère en matière de norme. Péché de jeunesse, sans doute Smiley cligne