Une autre raison d'aller avec le court est qu'il correspond à d'autres instances où vous pouvez spécifier un jeu de caractères dans le balisage. Par exemple:
<script type="javascript" charset="UTF-8" src="/script.js"></script>
<p><a charset="UTF-8" href="http://example.com/">Example Site</a></p>
La cohérence aide à réduire les erreurs et à rendre le code plus lisible.
Notez que l'attribut charset n'est pas sensible à la casse. Vous pouvez utiliser UTF-8 ou utf-8, mais UTF-8 est plus clair, plus lisible et plus précis.
De plus, il n'y a absolument aucune raison d'utiliser une valeur autre que UTF-8 dans l'attribut meta charset ou l'en-tête de page. UTF-8 est l'encodage par défaut des documents Web depuis HTML4 en 1999 et le seul moyen pratique de créer des pages Web modernes.
Vous ne devez pas non plus utiliser d'entités HTML dans UTF-8. Les caractères comme le symbole du droit d'auteur doivent être saisis directement. Les seules entités que vous devez utiliser sont pour les 5 caractères de balisage réservés: inférieur à, supérieur à, esperluette, premier, double premier. Les entités ont besoin d'un analyseur HTML, que vous ne voudrez peut-être pas toujours utiliser à l'avenir, elles introduisent des erreurs, rendent votre code moins lisible, augmentent la taille de vos fichiers et décodent parfois incorrectement dans divers navigateurs selon les entités que vous avez utilisées. Apprenez à taper / insérer des droits d'auteur, des marques, des guillemets ouverts, des guillemets fermés, une apostrophe, un tiret, un tiret, un tiret, un euro, et tout autre caractère que vous rencontrez dans votre contenu, et utilisez ces caractères réels dans votre code. Le Mac dispose d'une visionneuse de caractères que vous pouvez activer dans les préférences du système de clavier, et vous pouvez trouver, puis faire glisser et déposer les caractères dont vous avez besoin, ou utiliser la visionneuse de clavier correspondante pour voir quelles touches saisir. Par exemple, la marque est Option + 2. UTF-8 contient tous les caractères et symboles de chaque langue humaine écrite. Il n'y a donc aucune excuse pour utiliser - au lieu d'un tiret cadratin. Ce n'est pas une mauvaise idée d'apprendre les règles de ponctuation et de typographie aussi ... par exemple, sachant qu'une période va à l'intérieur d'une citation proche, pas à l'extérieur.
L'utilisation d'une balise pour quelque chose comme le type de contenu et l'encodage est très ironique, car sans savoir ces choses, vous ne pouvez pas analyser le fichier pour obtenir la valeur de la balise META.
Non, ce n'est pas vrai. Le navigateur commence par analyser le fichier comme encodage par défaut du navigateur, soit UTF-8 ou ISO-8859-1. Étant donné que US-ASCII est un sous-ensemble de ISO-8859-1 et UTF-8, le navigateur peut très bien lire dans les deux cas ... c'est la même chose. Lorsque le navigateur rencontre la balise meta charset, si l'encodage est différent de ce que le navigateur utilise déjà, le navigateur recharge la page dans l'encodage spécifié. C'est pourquoi nous avons placé la balise meta charset en haut, juste après la balise head, avant toute autre chose, même le titre. De cette façon, vous pouvez utiliser des caractères UTF-8 dans votre titre.
Vous devez enregistrer vos fichiers au format UTF-8 sans BOM
Ce n'est pas strictement vrai. Si vous n'avez que des caractères US-ASCII dans votre document, vous pouvez l'enregistrer en US-ASCII et le servir en UTF-8, car il s'agit d'un sous-ensemble. Mais s'il y a des caractères Unicode, vous avez raison, vous devez enregistrer en UTF-8 sans BOM.
Si vous voulez un bon éditeur de texte qui enregistrera vos fichiers en UTF-8, je recommande Notepad ++.
Sur le Mac, utilisez Bare Bones TextWrangler (gratuit) du Mac App Store, ou Bare Bones BBEdit qui est sur le Mac App Store pour 39,99 $ ... très bon marché pour un si bon outil. Dans les deux applications, il y a un menu en bas de la fenêtre du document où vous spécifiez l'encodage du document et vous pouvez facilement choisir "UTF-8 no BOM". Et bien sûr, vous pouvez définir cela comme valeur par défaut pour les nouveaux documents dans les Préférences.
Mais si votre serveur Web sert l'encodage dans l'en-tête HTTP, ce qui est recommandé, les deux [balises META] sont inutiles.
C'est incorrect. Vous devez bien sûr définir l'encodage dans l'en-tête HTTP, mais vous devez également le définir dans l'attribut meta charset afin que la page puisse être enregistrée par l'utilisateur, hors du navigateur sur le stockage local, puis rouverte plus tard, auquel cas la seule indication du codage qui sera présent est l'attribut meta charset. Vous devez également définir une balise de base pour la même raison ... sur le serveur, la balise de base n'est pas nécessaire, mais lorsqu'elle est ouverte à partir du stockage local, la balise de base permet à la page de fonctionner comme si elle se trouvait sur le serveur, avec toutes les actifs en place et ainsi de suite, pas de liens rompus.
AddDefaultCharset UTF-8
Ou vous pouvez simplement changer l'encodage de types de fichiers particuliers comme ceci:
AddType text/html;charset=utf-8 html
Une astuce pour servir les fichiers UTF-8 et Latin-1 (ISO-8859-1) consiste à donner aux fichiers UTF-8 une extension "texte" et des fichiers Latin-1 "txt".
AddType text/plain;charset=iso-8859-1 txt
AddType text/plain;charset=utf-8 text
Enfin, pensez à enregistrer vos documents avec des fins de ligne Unix, pas des fins de ligne DOS ou Mac classiques, ce qui n'aide pas et peut nuire, en particulier sur la ligne à mesure que nous nous éloignons de plus en plus de ces systèmes hérités. Un document HTML avec un HTML5 valide, un encodage UTF-8 et des fins de ligne Unix est un travail bien fait. Vous pouvez partager et éditer et stocker et lire et récupérer et utiliser ce document dans de nombreux contextes. C'est de la lingua franca. C'est du papier numérique.