Salut à tous,
Je me demande quelle est l'utilité d'avoir @charset "utf-8"; dans la première ligne d'un fiche CSS.
Je me questionne parce que j'ai essayé de supprimer et rien ne change.
Salut à tous,
Je me demande quelle est l'utilité d'avoir @charset "utf-8"; dans la première ligne d'un fiche CSS.
Je me questionne parce que j'ai essayé de supprimer et rien ne change.
Bonsoir,
ça n'a d'utilité que si la CSS contient des caractères non ASCII, c-à-d
le plus souvent du contenu généré textuel.
On le met par sécurité ou cas ou mais ce n'est pas obligatoire.
é à è à, etc... par exemple pour le français. Les carcatères ascii
ça m'a rapelé ce post qui avait justement un problème avec sa reconnaissance des css sur IE à cause d'accents dans ses commentaires css.
Donc en utilisant @charset "utf-8", on peut insère des caractères non ascii dans la feuille cascade c'est bien cela ?
Sans quoi, ça n'a aucun utilité comme dit Erwan31 c'est bien cela ?
oui et non. Ce n'est pas le fait d'encoder en utf-8 qui te permet d'insérer des caractères non ascii mais le fait de déclarer explicitement quel est l'encodage de ta feuille de style pour éviter les mauvaises interprétations comme c'était le cas dans le lien que je t'ai donné ci-dessus.
Que de l'utf-8 passe pour du ANSI ou l'inverse, tant qu'il n'y a pas d'accent ou autres carcatères particuliers, cela ne va pas poser problème puisque les caractères ascii (utilisés pour le css) sont encodés de la même manière. Par contre si de l'utf-16, par exemple, passait pour de l'ANSI cela serait plus problématique.
Pour moi, outre la problématique des caractères particuliers, il y a utilité de définir le charset dans la feuille de style si l'encodage de la feuille de style diffère de celui déclaré dans la page html vu le comportement d'IE qui semble prendre l'encodage de la page html (cf le lien du dessus que j'ai corrigé) pour l'appliquer au document css lié.
Partager