Comment dois-je encoder des caractères spéciaux dans des pages Web? Par exemple, j'ai besoin de ce symbole ℃, que j'ai utilisé simplement en copiant et collant le caractère tel que je peux le voir maintenant. Cela a fonctionné pour les navigateurs de bureau sur lesquels j'ai vérifié, ainsi que sur iPad et iPhone, mais rien ne s'affiche sur un Blackberry que j'ai utilisé pour les tests. Existe-t-il une meilleure pratique standard pour cela?
http://www.fileformat.info/info/unicode/char/2103/browsertest.htm
Essayez de le remplacer par °
, et de définir le jeu de caractères sur utf-8, comme le suggère Martin.
°C
vous obtiendrez quelque chose comme ceci:
Si vous voulez vraiment utiliser le caractère DEGREE CELSIUS “”, le copier-coller est correct, à condition que votre document soit encodé en UTF-8 et déclaré comme tel dans les en-têtes HTTP. Utilisation de la référence de caractère ℃
fonctionnerait aussi bien et indépendamment du codage de caractères, mais la source serait beaucoup moins lisible.
Le problème avec Blackberry est très probablement un problème de police. Je ne connais pas les polices sur Blackberry, mais le répertoire des polices peut être limité. Vous ne pouvez rien faire à ce sujet en HTML, mais vous pouvez utiliser CSS, éventuellement avec @font face
.
Mais il n’ya pratiquement aucune raison d’utiliser le DEGRE CELSIUS. C'est un caractère de compatibilité, inclus dans Unicode en raison de son utilisation dans l'écriture est-asiatique. La norme Unicode dit explicitement dans Chapitre 15 (section 15.2, page 497):
"En utilisation normale, il est préférable de représenter les degrés Celsius" ° C "avec une séquence de signe U + 00B0 signe de degré + U + 0043 lettre majuscule latine c, plutôt que U + 2103 degré Celsius."
Le signe de degré "°" peut être entré de nombreuses manières, y compris la référence d'entité "°", mais il est généralement préférable de l'insérer sous forme de caractère, par copier-coller ou autrement. Sous Windows, vous pouvez utiliser Alt 0176.
Mise en garde: Certains navigateurs peuvent considérer le signe de degré comme autorisant une coupure de ligne après celle-ci, même si aucun espace n’intervient, en insérant "°" et le "C" suivant sur des lignes distinctes. Il y a différentes façons d'éviter cela . Une méthode simple et efficace est la suivante: <nobr>42 °C</nobr>
.
Utiliser sup sur la lettre "o" et un "C" majuscule
<sup>o</sup>C
Devrait fonctionner dans tous les navigateurs et IE6 +
Je ne sais pas pourquoi cela ne s'est pas encore produit, mais pourquoi n'utilisez-vous pas ℃
(℃) ou ℉
(℉) pour Celsius et Fahrenheit respectivement!
Ajouter une métabalise à votre entête
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
Cela augmente la quantité de caractères que vous pouvez utiliser.