Je veux simplement afficher les symboles de coche (✔) et de croix (✘) dans une page HTML, mais cela apparaît sous forme de boîte ou de goop - évidemment quelque chose à voir avec l'encodage.
J'ai défini la balise meta pour afficher utf-8 mais il me manque évidemment quelque chose.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Edit / Solution: D'après les commentaires faits, en utilisant FireBug, j'ai trouvé que les en-têtes passés par ma page étaient en fait "Content-Type: text / html" et non UTF-8. L'examen du format de fichier à l'aide de Notepad ++ a montré que mon fichier était formaté en "UTF-8 sans nomenclature". En changeant cela en seulement UTF-8, les symboles s'affichent désormais correctement ... mais Firebug semble toujours indiquer le même type de contenu.
content
propriété d'un::before
sélecteur CSS , il faudrait utiliser la notation anti-slash. par exemple: '\ 2713' au lieu de '& # 2713'.Je sais qu'une réponse a déjà été acceptée, mais je voulais souligner quelques points.
Définir le
content-type
etcharset
est évidemment une bonne pratique, le faire sur le serveur est bien meilleur, car cela garantit la cohérence dans votre application.Cependant, je n'utiliserais
UTF-8
que lorsque la langue de mon application utilise beaucoup de caractères qui ne sont disponibles que dans leUTF-8
jeu de caractères. Si vous souhaitez afficher un caractère ou un symbole Unicode dans l'un des cas, vous pouvez le faire sans changer lecharset
de votre page.HTML
les moteurs de rendu ont toujours été en mesure d'afficher des symboles qui ne font pas partie du jeu de caractères d'encodage de la page, tant que vous mentionnez le symbole dans sonnumeric character reference (NCR)
. Cela semble étrange mais c'est vrai.Ainsi, même si votre
html
a un en-tête indiquant qu'il a un encodage deansi
ou de l'un desiso
jeux de caractères, vous pouvez afficher une coche en utilisant sa référence de caractère html, en décimal - & # 10003; ou en hexadécimal - & # x2713;Il est donc un peu difficile de comprendre pourquoi vous rencontrez ce problème sur vos pages. Pouvez-vous vérifier si la valeur NCR est correcte, c'est une bonne référence http://www.fileformat.info/info/unicode/char/2713/index.htm
la source
Assurez-vous que vous enregistrez réellement le fichier au format UTF-8, ou utilisez des entités HTML (
&#nnn;
) pour les caractères spéciaux.la source
fileencoding
paramètre.Contrairement à la proposition de Nicolas, la
meta
balise n'est en fait pas ignorée par les navigateurs. Cependant, l'Content-Type
en-tête HTTP a toujours la priorité sur la présence d'unemeta
balise dans le document.Assurez-vous donc d'envoyer le bon encodage via l'en-tête HTTP, ou de ne pas envoyer du tout cet en-tête HTTP (non recommandé). La
meta
balise est principalement une option de secours pour les documents locaux qui ne sont pas envoyés via le trafic HTTP.L'utilisation d'entités HTML devrait également être considérée comme une solution de contournement - c'est la pointe des pieds autour du vrai problème. La configuration correcte du serveur Web évite de nombreuses nuisances.
la source
Je pense que c'est un problème de fichier, vous avez simplement enregistré votre fichier en encodage 1 octet comme latin-1. Google votre éditeur et comment définir des fichiers sur utf-8.
Je me demande pourquoi il existe des éditeurs qui n'utilisent pas par défaut utf-8.
la source