Especificando un juego de caracteres para hojas de estilo

Mis hojas de estilo contienen un código CSS similar al siguiente:

#nav > li::after { content: " ➻"; } 

Puede observar que ➻ no es un carácter ASCII y, por lo tanto, es “peligroso” incluirlo en un archivo sin especificar un juego de caracteres.

Por ahora las cosas han sido fáciles y nunca me he encontrado con problemas de encoding con hojas de estilo CSS (sobre todo porque los agentes de usuario son cada vez mejores para adivinar “UTF-8”), pero me preguntaba si había una forma correcta de especificarlo explícitamente.

He intentado esto:

  

Pero parece que no hace nada, ya que traté de especificar una encoding falsa y todavía se muestra correctamente.

Encontré esa cita que necesitaba:

http://www.w3.org/TR/CSS2/syndata.html#charset

Cuando una hoja de estilo reside en un archivo separado, los agentes de usuario deben observar las siguientes prioridades al determinar la encoding de caracteres de una hoja de estilo (desde la prioridad más alta hasta la más baja):

  1. Un parámetro HTTP “charset” en un campo “Content-Type” (o parámetros similares en otros protocolos)
  2. BOM y / o @charset (ver a continuación)
  3. u otros metadatos del mecanismo de enlace (si corresponde)
  4. conjunto de caracteres de hoja de estilo o documento de referencia (si corresponde)
  5. Suponer UTF-8

Entonces, aunque @charset "UTF-8"; es relevante, los encabezados HTTP lo anulan. Puede especificar el juego de caracteres en una metaetiqueta de su documento HTML con , que satisfará a # 4, y los agentes de usuario deben recurrir a UTF-8 de todos modos.

Con algunos de estos “glifos”, es importante que el usuario final tenga al menos una fuente instalada que la soporte, así que téngalo en cuenta al escribir su CSS. No todas las fonts admiten todos los caracteres Unicode.