OVH Cloud OVH Cloud

oe lié

3 réponses
Avatar
Le Gaulois
Bonjour,

Dans un fichier html dans lesquel j'ai précisé le charset

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

tidy me met un "warning illegal character code 156"
alors qu'il ne râle pas pour les lettres accentuées ...
Est-ce que c'est tidy qui déconne, ou dois-je remplacer
ce oe-lié par &oelig; ?

3 réponses

Avatar
yzzzzz
Marc Mongenet wrote:
Sergio wrote:

claire avait soumis l'idée :

Le codage valide est &#339;
Tu peux aussi écrire &oelig; qui sera valide dans la mesure où tu
précises > > le charset.



Pas plutôt le contraire ?
&oelig; dans tous les cas et un code numérique suivant le charset ?



Dans tous les cas les deux solutions sont bonnes.



Est-ce que &oelig; ne nécessite pas de spécifier un doctype en haut du
document, afin de définir l'entité &oelig; ?

Voir par exemple ici :
<http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent>
dans lequel on peut lire
<!ENTITY oelig "&#339;">
<!-- latin small ligature oe, U+0153 ISOlat2 -->

Ce serait donc seulement &#339; qui marche partout.
Avatar
Marc Mongenet
yzzzzz wrote:


Est-ce que &oelig; ne nécessite pas de spécifier un doctype en haut du
document, afin de définir l'entité &oelig; ?



En pratique, avec HTML, non. En revanche, toujours en pratique,
les &oelig; n'est pas reconnu par des navigateurs anciens et/ou
incomplets, contrairement à &#339;.

En théorie, il me semble qu'un DOCTYPE doit être présent pour que
le document soit valide, donc la question ne se pose pas.

En XHTML aussi, un DOCTYPE est nécessaire.

Voir par exemple ici :
<http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent>
dans lequel on peut lire
<!ENTITY oelig "&#339;">
<!-- latin small ligature oe, U+0153 ISOlat2 -->

Ce serait donc seulement &#339; qui marche partout.



Effectivement, seuls ces entités existent par défaut en XML :
amp, lt, gt, apos, quot.
Les autres doivent être déclarées explicitement.
Mais du moment qu'on fait du XHTML, on doit déclaré la version
de XHTML utilisée, et celle-ci définit les entités.

Marc Mongenet
Avatar
Sergio
Olivier Miakinen avait écrit le 01/03/2004 :
<troll>
Me suis toujours demandé pourquoi l'ISO n'a pas suivi les codes Windows
supplémentaires pour les codes "oubliés" de l'iso 8859-1, sinon pour
em***der les utilisateurs de Windows.



1) De 0x80 à 0x9F, c'est réservé pour des raisons de sécurité, afin
qu'un caractère traversant une passerelle 7bits ne se transforme pas en
code de contrôle.



De toute façon, la page sera illisible si elle utilise une passerelle 7
bits. Et dans ces cas je suppose que le quoted printable n'est pas fait
pour les chiens... Et les passerelles sont sûres (à ce niveau...) car
des millions de personnes utilisent (certes fautivement) le codage
Windows, sans faire sauter internet. Par contre s'il y a un certain
nombre de trous de sécurité dans Windows, c'est sûrement pas à cause de
ça...

2) Je ne suis pas sûr que les normes ISO soient postérieures aux
multiples ajouts de Microsoft dans windows-1252.



Depuis Windows 3.x (au moins) Windows utilise ces codes (avec des
ajouts entre temps, comme l'euro...). La norme 8859-1 bricolée pour
l'euro est postérieure !

Celui qui répond "de 0x80 à 0x9F c'est réservé pour des raisons de
compatiblité avec les télétypes" sera condamné à surfer avec un modem à
110bps.
</troll>



Qui a parlé de télétypes ?



Y'avait un bit de parité sur les octets... J'ai même connu des
télétypes avec le codage sur 5 bits. Et à 110 bps... (bon ça va plus
vite si le codage est sur 5 bits, mais quand même).
C'était épique : Il fallait prévoir de pader avec un certain nombre de
<nul> après les <cr> pour laisser le temps à la tête d'écriture de
revenir...
:')

--
Serge http://leserged.online.fr/
Tout sur Windows : http://www.bellamyjc.org/ et http://www.ntfaqfr.com/