Version complète: sur le forum Webmaster Hub : meta tags et caractères spéciaux
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > (X)HTML et CSS
beufa
Question bête : doit-on utiliser les caractères spéciaux dans les meta-tags ?
Je pense que non car sinon Dreamweaver relèverait quand je valide mes pages.
Mais sait-on jamais ? dry.gif
c.klouchi
Bonjour,
A ce sujet, il y a 2 écoles cependant je pense qu'une est dépassé.
Il n'est pas necessaire d'insérer les caractères spéciaux, car normalement vous définissez un encode pour votre page.
Ainsi tout le monde est capable de la lire, si votre encodage correspond au code écris.
beufa
Ok, merci bien !
LaurentDenis
Distinguons deux choses:
- la manière dont les robots d'indexation aiment ou n'aiment pas les caractères littéraux / en entités caractères / en entités numériques. Quelqu'un a un avis clair et compétent là-dessus ?
- le problème de spécifier le charset utilisé pour le contenu html. Celui-ci inclut le contenu de <head>. Donc le charset s'appliquera aux balises <meta>: dès lors que le charset est défini par en en-tête HTTP (qui l'emporte sur tous les autres moyens de le définir), il n'y a aucun problème si les caractères sont entrés littéralement par un éditeur qui respecte l'encodage en question. Autrement-dit, si vous pouvez gérer vos en-tête HTTP pour spécifier le charset de votre choix, et si votre éditeur HTML respecte l'encodage en question, tout va bien. D'autre part, par précaution, placez la <meta> content-type avant vos <meta> pour fournir l'information de charset en premier.
Monique
CITATION(LaurentDenis @ 30 Oct 2004, 15:00)
D'autre part, par précaution, placez la <meta> content-type avant vos <meta> pour fournir l'information de charset en premier.
*

Je me permets de mettre ce conseil en évidence...
il est assez peu connu, rarement donné, et encore plus rarement mis en application.
beufa
Eh bien je m'en vais suivre ce conseil (en fait ma balise " content-type" est bien placée : pur hasard).
Merci à tous pour ces précisions!
Denis
CITATION(Monique @ 30 Oct 2004, 10:15)
Je me permets de mettre ce conseil en évidence...
il est assez peu connu, rarement donné, et encore plus rarement mis en application.

C'est tellement vrai... et pourtant, d'une évidence désarmante... à quoi bon spécifier le charset à utiliser seulement une fois qu'une partie de l'information est filée au navigateur ? En spécifiant le charset en début de <head> alors tout est considéré selon celui-ci : title. metas, etc.

Mieux encore, spécifier le charset directement dans les headers, mais comme ce n'est pas toujours possible... ^_^
LaurentDenis
Allez, on va enfoncer encore un peu le clou. C'est en fait une vieille recommandation... de la vénérable spécification HTML4.01 elle-même tongue.gif

CITATION
La déclaration META doit seulement être utilisée lorsque l'encodage est organisé de telle sorte que les octets en valeurs ASCII représentent des caractères ASCII (au moins jusqu'à ce que l'élément META soit analysé). Les déclarations META devraient apparaître le plus tôt possible dans l'élément HEAD.


http://www.la-grange.net/w3c/html4.01/charset.html
Denis
CITATION(LaurentDenis @ 30 Oct 2004, 11:48)
Allez, on va enfoncer encore un peu le clou.

Mais ça ne spécifie pas la nécessité d'annoncer son charset avant d'afficher du contenu... wacko.gif
LaurentDenis
CITATION
Les déclarations META devraient apparaître le plus tôt possible dans l'élément HEAD.


La citation est tronquée, faute de quoi il faudrait citer un tiers du chapitre. Dans le contexte de la spec (voir le lien ci-dessus), c'est aussi explicite que possible... dans la mesure où la spec HTML4.01 est capable d'être explicite. Et il est vrai que nous traînons beaucoup de questions à cause de ses imprécisions, ou de ses difficultés de lecture :down:
LaurentDenis
Tiens, à propos : il serait intéressant de savoir si les robots d'indexation "forcent" le charset Windows-1252, comme le font la plupart des navigateurs quand ils sont face à un document de charset inconnu ou de charset ISO-8859-1 ?
Denis
Ce n'est pas la config par défaut d'un serveur IIS qui force l'usage du windows-1252 sur un document ? C'est du moins ce que je retenais des discussions récentes sur le sujet.
LaurentDenis
Il me semble également que c'est le cas. Mais ici, il s'agit d'un problème différent : u n très grand nombre de pages théoriquement en ISO-8859-1 étant en fait en Windows-1252 (en raison d'un problème d'encodage des caractères dans les éditeurs HTML), beaucoup de navigateurs forcent l'encodage Windows-1252 afin de compenser cette erreur.

Le test est facile à faire localement, en visualisant dans son navigateur le code suivant:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Test</title>
</head>
<body>
<p>Ici devrait s'afficher une obèle: &#134;</p>
</body>

Si l'obèle † s'affiche effectivement... C'est que le navigateur interprète la page en Windows-1252, où l'encodage & #134; correspond à ce caractère (en ISO-8859-1, & #134; est un code de contrôle et pas un caractère)

Parmi les navigateurs qui le font:
- Opera (qui le signale dans les infos de la page)
- FireFox
- Mozilla
- IE bien-sûr...
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.