Ah...
Au commencement était Unicode, la norme d'encodage des caractères universelle permettant d'écrire n'importe quel caractère européen, chinois, thaï, ourgou, etc. dans une page Web. Et surtout, de l'écrire
littéralement au lieu de se compliquer la vie avec des &#zguigui;
Mais Unicode comportant plusieurs dizaines de milliers de caractères, les auteurs de page ont rarement besoin de tout le stock. Donc, on "encode" les document Web en utilisant des "jeux de caractères" qui ne retiennent chacun qu'une partie d'Unicode, celle dont on a besoin.
L'un de ces jeux est iso-8859-1, qui permet d'écrire la plupart des caractères français littéralement: é, è, î ne posent aucun problème.
Mais iso-8859-1 n'est pas complet (pour des raisons historiques inévitablement dues à un mec
. D'ailleurs, dans ce cas, c'est authentiquement vrai, et le coupable a été identifié
). iso-8859-1 a par exemple oublié le caractère oe (la ligature oe). Il y a aussi, par exemple le signe euro qui n'existait pas encore.
On ne peut donc pas écrire littéralement ces caractères dans une page en iso-8859-1. Mais la solution est simple: n'importe quel navigateur (ou autre chose lisant une page Web) est capable de retrouver un caractère Unicode et de l'afficher correctement si on lui fournit... le code du caractère, c'est à dire sa place dans le grand tableau Unicode.
Ce code, c'est tout simplement les fameuses "entités" &zguigui; et 〹
Donc: on utilise l'entité (numérique de préférence):
- quand on a un caractère qui n'existe pas dans le jeu qu'on a choisi : tu es obligée d'écire € ou € pour mettre le signe euro dans un document en iso-8859-1
- quand c'est plus pratique que réussir à produire le caractère littéral: on écrit pour l'espace insécable, par exemple...
<edit>Pour les puristes: je sais, je simplifie un peu. Non mais !
</>
<re-edit>Pour iso-8859-1 et la ligature oe: selon la tradition la plus fermement établie, le membre du groupe de travail concerné l'aurait oublié car... ce caractère ne figurait pas sur le clavier de sa machine à écrire
</>
Modifié par Laurent Denis (29 Jan 2007 - 18:54)