140 votes

Quand Doit-On Utiliser les Entités HTML

Cela a été déroutant pour moi un certain temps. Avec l'avènement de l'UTF-8 comme le standard de facto dans le développement web, je ne sais pas dans quelle situation je suis censé utiliser les entités html et pour ceux qui devrais-je utiliser les caractères UTF-8.

Exemples: le cadratin, esperluette, etc.

Merci de faire la lumière sur cette question. Il sera apprécié.

133voto

William Brendel Points 15453

Sur la base des commentaires que j'ai reçus, j'ai regardé cela d'un peu plus loin. Il semble qu'actuellement, la meilleure pratique consiste à renoncer à l'aide d'entités HTML et l'utilisation réelle de caractères UTF-8 à la place. Les raisons citées sont comme suit:

  1. UTF-8 codages sont plus faciles à lire et les modifier pour ceux qui comprennent ce que le personnage de moyens et de savoir comment type.
  2. UTF-8 codages sont tout aussi inintelligible comme entité HTML codages pour ceux qui ne les comprennent pas, mais ils ont l'avantage de rendre comme des caractères spéciaux plutôt que difficile à comprendre décimale ou hexadécimale encodages.

Tant que votre page d'encodage est correctement configuré en UTF-8, vous devez utiliser le caractère réel au lieu d'une entité HTML. J'ai lu plusieurs documents sur ce sujet, mais les plus utiles ont été:

À partir de l' UTF-8: Le Secret de l'Encodage des Caractères de l'article:

Wikipédia est un cas d'étude pour un l'application qui, à l'origine utilisé ISO-8859-1 mais elle est passée à l'UTF-8 lors de l' il est devenu très à la lourdeur de soutien langues étrangères. Les robots maintenant en fait aller à travers des articles et convertir les entités de caractères à leur correspondant des personnages réels pour l' souci de convivialité et de la facilité de recherche.

Cet article donne également un bel exemple d'implication d'encodage Chinois. Voici l'abrégé exemple, pour la cause de la paresse:

UTF-8:

這兩個字是甚麼意思

Entités HTML:

這兩個字是甚麼意思

L'UTF-8 et en entité HTML codages sont à la fois de sens pour moi, mais au moins le codage UTF-8 est reconnaissable en tant que langue étrangère, et qu'il s'affiche correctement dans une zone d'édition. L'article continue à dire ce qui suit à propos de l'entité HTML-version codée:

Extrêmement gênant pour ceux d'entre nous qui savent réellement ce personnage les entités sont totalement incompréhensibles pour les utilisateurs pauvres qui n'en ont pas! Même le un peu plus convivial, "intelligible" les entités de caractères comme et thêta; laisser les utilisateurs qui sont motivé à apprendre le HTML se gratter la tête. Sur l'autre main, si ils voient θ dans une zone d'édition, ils savent que c'est un spécial caractère, et le traiter en conséquence, même s'ils ne savent pas écrire que de caractères eux-mêmes.

Comme d'autres l'ont noté, vous devez toujours utiliser les entités HTML pour les caractères XML réservés (esperluette, inférieur, supérieur).

96voto

JacquesB Points 19878

Vous n'avez généralement pas besoin d'utiliser les entités HTML si votre éditeur prend en charge Unicode. Les entités peuvent être utiles lorsque:

  • Votre clavier ne prend pas en charge le caractère que vous devez taper. Par exemple, beaucoup de claviers n'ont pas de tiret cadratin ou un symbole de droit d'auteur.
  • Votre éditeur ne prend pas en charge Unicode (très courant il y a quelques années, mais probablement pas aujourd'hui).
  • Vous voulez vous rendre explicite de la source de ce qui se passe. Par exemple, l'   code est plus clair que le caractère espace blanc.
  • Vous devez vous échapper HTML des caractères spéciaux comme <, &ou ".

5voto

Jim Puls Points 29289

Les entités peuvent vous acheter une certaine compatibilité avec la mort cérébrale clients qui ne comprennent pas les encodages correctement. Je ne crois pas que comprend tous les navigateurs actuels, mais vous ne savez jamais ce que les autres types de programmes peuvent être frapper.

Plus utile, cependant, est que les entités HTML vous protéger de vos propres erreurs: si vous misconfigure quelque chose sur le serveur et vous servent une page avec un en-tête HTTP qui indique que c'est ISO-8859-1 et META balise qui indique que c'est UTF-8, au moins votre &mdash;es le sera toujours.

5voto

Ned Batchelder Points 128913

Je ne voudrais pas utiliser UTF-8 pour les caractères qui sont faciles à confondre visuellement. Par exemple, il est difficile de distinguer un emdash à partir d'un moins, ou, surtout, un espace de non-rupture d'un espace. Pour ces personnages, certainement utiliser les entités.

Pour les caractères qui sont faciles à comprendre visuellement (comme les chinois les exemples ci-dessus), aller de l'avant et à l'utilisation de l'UTF-8 si vous le souhaitez.

4voto

mjy Points 1768

Entités HTML sont utiles lorsque vous souhaitez générer du contenu qui va être inclus (dynamiquement) dans les pages de (plusieurs) codages différents. Par exemple, nous avons le blanc de l'étiquette de contenu qui est inclus dans la norme ISO-8859-1 et UTF-8 de pages web...

Si le jeu de caractères de conversion de/vers l'UTF-8 n'est pas un si gros peu fiables mess (vous toujours tomber sur certains personnages et certains outils qui ne se convertit pas correctement), la standardisation de l'UTF-8 serait le chemin à parcourir.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X