2009-03-21 8 views
10

Je suis en train de montrer les signes du droit d'auteur et l'infini en bas de ma page en utilisant ce code:Comment afficher les caractères Unicode dans IE en utilisant HTML

&#x00A9 Copyright Mikle 2009 - &#x221E 

Cela fonctionne parfaitement dans Firefox 2, 3 et Chrome . IE7 cependant, me montre les codes réels (comme vous voyez ci-dessus) au lieu de ce que je pense et l'autre spectacle du navigateur:

© Copyright Mikle 2009 - ∞ 

Ceci est probablement quelque chose de stupide, mais cela me fait comprendre pourquoi IE devient tellement déteste. Comment puis-je réparer ça?

Répondre

21

entités ont besoin d'un point-virgule:

© 

Firefox est incorrectement trop utile dans ce cas.

+0

Eh bien, il semble que ce soit une exigence stupide, puisque ce n'est pas une expression courante ("Bonjour mon ami & # x00fe!"), Pourquoi doit-il chercher? On dirait une complexité inutile. – Mikle

+2

Cela fait partie de la recommandation html, et la recommandation html préfère l'exhaustivité (conduisant à des analyseurs plus simples) sur les hypothèses. L'ironie ici est que vous avez supposé que IE était en faute, quand c'était en fait IE qui adhérait strictement à la "norme". ;-) – Rahul

+3

Je suis d'accord que c'est un peu ironique ... Je lis beaucoup sur les compatibilités du navigateur, et comment IE suce et l'ensemble des problèmes d'analyse lâche VS, et voilà, moins de 3 heures dans mon premier projet web (J'ai fait la plupart du temps la programmation de bureau) Je reçois peu par lui ... – Mikle

6
  1. Utilisez des valeurs décimales.
  2. Terminez toujours l'entité avec; (point-virgule) même dans le contexte, où c'est facultatif.
  3. Utilisez l'entité nommée autant que possible. Votre exemple des entités doivent être écrites © © et ∞

Autre approche, est d'oublier les entités, et vient de mettre là-bas caractères UTF-8 ordinaire.

+0

Cela fonctionne mais hex est une partie d'unicode, donc je vais utiliser la deuxième méthode. – Mikle

+0

Pourriez-vous donner plus de détails à ce sujet? – vartec

+0

Votre vie sera beaucoup plus facile si vous limitez votre texte HTML à ASCII 7-bit. Si vous utilisez un codage 8 bits, vous devez vous assurer que votre serveur Web insère le paramètre de réponse correct pour identifier ce codage. Et les chances sont bonnes que quelqu'un, quelque part, va bousiller. – kdgregory

2

Vous ne pouvez pas utiliser "©"?

This page a une liste de codes HTML pour les symboles communs.

+0

@Jimmy vous pouvez insérer du code HTML littéral comme code. – vartec

Questions connexes