€.
Bien entendu, si vous faites vos pages avec un éditeur HTML assez évolué, celui-ci peut intercepter la frappe de la touche € et la traduire systématiquement par l'entité «€» (ou l'expression unicode €). La visualisation sera correcte et vous aurez ainsi l'impression que la frappe directe est possible. Vérifiez dans votre code s'il en est bien ainsi. Si ce n'est pas le cas, c.à.d. si le signe € reste en place dans votre code, il se peut encore que la visualisation dans un navigateur ait l'air correcte. N'en concluez pas pour autant que cela fonctionne, car il y a de bonnes chances pour que certains visiteurs vous demandent ensuite ce que vous avez voulu écrire.
<META http-equiv="Content-Type" Content="text/html; charset=ISO-8859-15">au début de votre bloc
<HEAD> pour être tranquille.
BODY,
et aussi, pour faire bonne mesure, quelques «œ».
On recommence
ensuite en déclarant un charset ISO-8859-1,
et on regarde
les résultats dans les deux cas. Très généralement :
Les charsets — jeux de caractères — sont associés à la notion de claviers nationaux. La première fois que vous démarrez une machine, le système d'exploitation demande dans quelle langue vous voulez travailler, et selon la réponse, vous aurez un clavier QWERTY ou AZERTY, mais aussi, plus subtilement, l'octet inscrit dans le fichier en réponse à telle ou telle lettre du clavier ne sera pas toujours le même. C'est cette correspondance lettre-octet inscrit qu'on décrit à travers les charsets.
Il y en a une grande variété parce que la correspondance lettre-octet unique ne permet que 256 caractères différents par charset et que cela ne suffit pas pour toutes les langues de la planète — même pas pour les seules langues latines du monde occidental. Aujourd'hui, on essaie de promouvoir des correspondances plus évoluées où chaque lettre correspond à deux octets ou plus (polices unicode), mais la première réponse historique a été de faire des groupes de langues et de prévoir un charset pour chacun d'entre eux. Nous continuons toujours sur cette lancée, à travailler pour nos travaux courants avec des charsets adaptés à notre langue nationale.
Les différents charsets en vigueur ont été définis d'une part par des organismes de normalisation internationaux (tous les ISO-xxx), et, d'autre part, par les grands constructeurs. On trouvera les plus importants d'entre eux dans le site de Roman Czyborra, avec notamment la quinzaine des différents charsets ISO-8859.
Cette ligne indique au navigateur dans quel jeu de caractères vous travaillez, afin qu'il puisse faire une restitution correcte de votre page.
En réalité, ce n'est pas parce que vous annoncez un
charset=ISO-8859-1 ou
ISO-8859-15 que vous utilisez réellement ce charset. Seul
votre éditeur sait vraiment ce qu'il en est. S'il
n'intercepte pas vos frappes pour les rendre conformes au charset annoncé,
il y a toutes les chances pour que vous utilisiez le
charset=Windows-1252 sous Windows, ou le
charset=Macintosh sous MacOS.
Vous pouvez parfaitement utiliser ces charsets «propriétaires» (spécifiques d'un constructeur particulier). Du moins, vous pourrez faire valider la bonne syntaxe de vos pages par le validateur du consortium W3C, alors que celui-ci rejettera votre page s'il n'y a pas de charset déclaré ou bien si vous faites une déclaration fantaisiste. En revanche, vous courrez le risque que vos pages ne soient pas correctement restituées si ce charset n'est pas reconnu par le navigateur de votre visiteur (le menu Affichage > Jeu de caractères permet de voir ce que celui-ci sait faire).
A titre d'illustration, voyez comment apparaissent chez vous quelques lettres spéciales inscrites dans les charsets Windows et Mac. D'après notre expérience
Il s'agit probablement d'une survivance historique. Tous les charsets ISO-8859 ont été définis avec un trou entre les caractères 128 et 159, qui devait être ultérieurement rempli avec des caractères de contrôle qui n'ont jamais vu le jour. Le charset Windows utilise cette zone pour certains caractères spéciaux (par exemple, 128 pour €, 156 pour œ, 151 pour le tiret long de dialogue, etc...) et on a dû prendre l'habitude d'accepter ces caractères dans ce qui est devenu le charset de base pour les pays anglo-saxons et latins, c.à.d. le ISO-8859-1.
Cela vaut pour l'ensemble de ces caractères «interdits». Vérifiez par vous-même qu'ils donnent (généralement) le même rendu, qu'on les déclare comme Windows-1252 ou ISO-8859-1.
Cet assouplissement de la norme ne s'étend généralement pas aux autres charsets de la famille 8859, témoin le rendu des mêmes octets déclarés sous le charset ISO-8859-15.
Cette ligne est indispensable si vous voulez passer votre page au validateur W3C pour vérifier la syntaxe de votre HTML. S'il ne la trouve pas, le validateur vous dira qu'il ne peut pas comprendre votre fichier.
En l'absence de cette ligne, le navigateur de votre visiteur se débrouillera de son mieux pour comprendre. En général, dans notre monde occidental, il en restera au mélange que nous avons décrit du ISO-8859-1 et des caractères «interdits» utilisés par Windows. Et si ça ne se passe pas bien, le visiteur pourra essayer d'autres encodages par le menu Affichage > Jeu de caractères (ce menu est inopérant s'il y a un charset déclaré).
Ce charset est une petite modification du charset ISO-8859-1. Quelques caractères peu usités ont été remplacés par d'autres plus utiles aux Européens. Notamment, un octet est prévu pour l'euro € (xA4, ou 164), et un autre pour la ligature œ réclamée par les francophones (xBD, ou 189).
Mais il ne faut déclarer ce charset que si votre éditeur est capable de s'y conformer, et, dans ce cas-là, ça fonctionnera. Généralement, le choix du charset se fait dans les préférences du programme et celui-ci place de lui-même la ligne «meta charset» appropriée quand vous ouvrez une nouvelle page. Si cette ligne n'apparaît pas, ou si vous ne trouvez pas le charset 8859-15 dans les diverses options offertes, c'est que vous allez très probablement travailler dans le charset spécifique à votre machine. Il est alors dangereux de prétendre au charset ISO-8859-15. Sous Windows, vous risquez fort de traduire chaque signe € par l'octet 128 (80 en hexa), qui ne figure pas dans ce charset et ne sera donc pas reconnu par les navigateurs les plus courants.
&#nn; où nn correspond à
l'octet Windows,
c.à.d. des combinaisons qui n'ont pas de signification dans la norme
officielle qui attend un numéro unicode pour nn.
En général, ces combinaisons sont néammoins
interprétées comme attendu (seul Opera6-mac les refuse en bloc,
mais c'est un navigateur peu fiable — Opera7 les
accepte ; Konqueror se contente de rendre le tiret long en tiret
court).
Charles