5568 sujets

Sémantique web et HTML

ayant voulu valider mes pages je me heurte a un petit probleme de caractère

Validator refusant en xhtml1.1

voici le doctype!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


les caractères "€" (euro) et le "oe" collé (&#156;) comment puis-je procéder Merci.
et pourquoi ne ^pas déclarer en tant que caractère html ?

à => & agrave;
â => & acirc;

é => & eacute;
è => & egrave;
ê => & ecirc;
ë => & euml;

î => & icirc;
ï => & iuml;

ô => & ocirc;
ö => & ouml;

ü => & uuml;
ù => & ugrave;

€ => & euro

oe => & oelig;


pour les principaux

edit : je rajoute :

ç => & ccedil;

pour les lettres majuscules, remplacer la lettre par sa majuscule, exemple & Agrave; ou bien & Eacute;
Modifié par Malcolm (07 May 2005 - 11:26)
Malcolm a écrit :
et pourquoi ne ^pas déclarer en tant que caractère html ?


déjà essayé marche pas (encore pire !!)
que ce soit sous xhtml1.1 ou xhtml1.0 strict le problème est persistant !!

pour le "OE" collé ->> &#156; est toléré et ma page valide!


pour le "€" j'ai simplement changer le caractère par un mini "gif" le représentant et VALIDATOR valide la page !!!!

merci pour le lien "Comment bien déclarer XHTML1.1 ?" très intéressant
c'est intéressant : quelle différence y a-t-il entre & euro (html) et &#156 (sans doute hexa) au niveau de l'accessibilité dans les pages ?

si ces 2 écritures représentnt la même chose, pourquoi est-ce que l'une n'est pas validée ?
Ce billet pourrait t'aider, non ?
Même si j'avoue n'avoir pas tout à fait compris le truc du "mon éditeur modifie les appels d'entités".
Enfin, c'est toujours une piste...
Olivier a écrit :
Et pourquoi ne pas utiliser l'iso-8859-15 qui est fait pour ça ?

simplement parce que çà ne marche pas !!!! Smiley langue (j'avais déjà essayé!)
Birdman a écrit :
Ce billet pourrait t'aider, non ?
Même si j'avoue n'avoir pas tout à fait compris le truc du "mon éditeur modifie les appels d'entités".
Enfin, c'est toujours une piste...


interessant ! je creuse dans cette direction qu'utilises tu comme editeur?
Ta page était-elle réellement encodée en tant que tel ? (au niveau l'éditeur)
Le type mime et l'encodage envoyé au serveur étaient-ils bien déclaré ?

Il ne s'agit pas de changer 1 ligne <meta /> pour changer un encodage Smiley cligne
Modifié par Olivier (08 May 2005 - 19:33)
j'obtiens ceci

Warning:
Line 141, column 27: reference to non-SGML character (pour oe collé)
Warning:
Line 373, column 43: reference not terminated by REFC delimiter (pour &euro €)

j'ai bien une difference de resultat suivant le changement de la ligne <meta> mais je teste dans le sens du billet de "Birdman"
désolé de créer un nouveau post ;mais je n'arrivepas à editer!!!

qu'entends tu par :
Ta page était-elle réellement encodée en tant que tel ? (au niveau l'éditeur)


j'utilise webexpert comme editeur , je viens de faire des tests sous notepad ! c'est pas mieux....


Le type mime et l'encodage envoyé au serveur étaient-ils bien déclaré ?


là explique un peu svp Smiley confused
nota:j'utilise FlasFXP en mode transfert "Auto"
Il ne te reste qu'à ressortir le poussiérreux bloc note et à réécrire les oe et € sans copier/coller depuis ta source qui risque d'être encodée en windows-machin
je viens d'utiliser CSE HTML VALIDATOR Lite v6.52 (un outil que j'avais en reserve) et il m"a signalé de mettre &#339; au lieu de &#156; et là miracle çà fonctionne pour le OE collé validé! mais toujours pas l'€... à suivre
a écrit :
Warning:
Line 373, column 43: reference not terminated by REFC delimiter (pour &euro €)

As-tu mis un point-virgule après le euro (&euro; et non &euro) ?

Et puis ce billet n'est pas de moi, mais de Normand.

a écrit :
Le type mime et l'encodage envoyé au serveur étaient-ils bien déclaré ?

Lorsqu'un serveur envoit une page à un client, il envoie en même temps un ensemble de headers (en-têtes HTTP), dont le type MIME. Si tu as Firefox et la WebDevToolBar, vas dans Informations > En-têtes HTTP (réponses). Tu verras une ligne Content-Type:.
Tu peux aussi voir les headers envoyés avec ta page avec cet outil.
Dans cet header, il y a le type de ressource (le type MIME : si c'est du HTML, une image au format PNG, du brocolis...) et l'encodage. L'encodage précisé ici a, si je me souviens bien, plus de poids que celui précisé par la balise META.

Pour régler le Content-Type envoyé par le serveur, tu peux passer par PHP. Mets en toute première ligne de ta page :
<?php
  header("Content-Type: text/html;charset=XXXX");
?>

Si tu n'as pas PHP, utilise un .htaccess.

Les jeux de caractères indiqués par les headers HTTP, par la balise META, par le prologue XML (si tu l'as mis) doivent être identiques.
Ok tout marche à merveille!!

sous charset=iso-8859-1" j'ai mis &#339; pour OE "collé" et &euro; pour € et j'ai encoder tout çà avec CSE HTML VALIDATOR Lite v6.52 et tout roule avec Webexpert çà bug car comme tu nous la signalé il encode pas correctement (en Windows-1252 certainement!)

Merci à tous Smiley biggrin Smiley biggrin
Modifié par dentnoir (08 May 2005 - 21:37)