La tecla de acceso 'n' lleva a la navegación de la página. Ir al inicio del contenido.

Este documento es una traducción. En caso de discrepancias o errores, la única versión normativa es el último original en inglés. Los derechos de autor originales corresponden al W3C, como puede verse al final de la página.

Traductor: Spanish translation team, WTB Language Group

s_gotoW3cHome Internacionalización
 

Declaración de codificación de caracteres en CSS

Audiencia de destino: codificadores de CSS, coordinadores de proyectos Web y cualquier usuario que desee saber cómo declarar la codificación de caracteres de un archivo CSS.

Nota: Desde la traducción de este documento se han producido modificaciones en el original en Inglés. Consulte el registro de cambios.

Pregunta

¿Cómo declaro la codificación de caracteres de una hoja de estilo CSS ?

Información preliminar

Es conveniente declarar siempre la codificación de las hojas de estilo CSS externas si hay texto no ASCII en el archivo CSS. Por ejemplo, puede tener caracteres no ASCII en nombres de fuentes, en valores de la propiedad de contenido, en valores del selector, etc.

Respuesta

En el caso de las declaraciones de estilo integradas en el documento, las reglas @charset no son necesarias y no deben usarse. Estas reglas se han concebido para su uso en hojas de estilo vinculadas únicamente.

Uso de @charset

Para definir la codificación de caracteres dentro de la hoja de estilo, utilice la "regla en" @charset. La sintaxis es la siguiente:

@charset "<nombre de codificación de caracteres definido por la IANA>";

Puede aparecer una sola regla @charset en una hoja de estilo externa y debe hacerlo al principio del documento. No debe haber ningún carácter antes de la regla, ni siquiera comentarios. (No obstante, puede usarse una marca de orden de byte para un documento que tiene una de las codificaciones Unicode.)

El nombre debe ser un nombre de codificación de caracteres según se describe en el registro de la IANA. En general, el registro de la IANA incluye varios nombres para la misma codificación. En este caso, deberá usar el nombre designado como preferido. Por ejemplo, para indicar que el archivo CSS tiene codificación UTF-8, se escribirá:

@charset "UTF-8";

Uso de HTTP

También puede declarar la codificación del archivo en el encabezado HTTP Content-Type, si tiene un medio para hacerlo. Para obtener más información sobre cómo definir la codificación en HTTP, consulte Configuración del parámetro charset de HTTP. Por ejemplo, esta línea en la respuesta HTTP indicaría que el archivo está codificado en UTF-8.

Content-Type: text/css; charset=UTF-8

Recomendamos que si utiliza una declaración HTTP, también incluya una declaración dentro de la hoja de estilo. De esta manera se garantizará que se siga conociendo la codificación si la hoja de estilo se utiliza a nivel local o se mueve, p. ej., para realizar pruebas o modificaciones.

En caso de conflicto, la declaración en el encabezado HTTP siempre prevalecerá sobre la declaración incluida dentro del documento.

A propósito

En la especificación HTML 4.01 se describe un atributo charset que puede agregarse al elemento enlace y se supone que indica la codificación del documento cuyo enlace se incluye. Sin embargo, el uso de este atributo en un elemento de enlace hoy es obsoleto de acuerdo con la especificación HTML5, por lo que no debe utilizarse. En realidad, la declaración de atributo charset no se admite en todos los navegadores y esta es otra razón para evitarla.

Dinos qué piensas (en Inglés).

Suscripción a feed RSS.

Nuevos recursos

Noticias de la página de inicio

Twitter (Noticias de la página de inicio)

‎@webi18n

Lecturas complementarias

De: Russ Rolfe, Microsoft Corporation. Cambiado por: Richard Ishida, W3C. Traductor: Spanish translation team, WTB Language Group.

XHTML 1.0 válido
CSS válido
Codificado en UTF-8

Traducido del inglés con fecha 2010-08-07. Traducción modificada por última vez el 2011-02-15 19:43 GMT.

Para ver el historial de cambios del documento, busque qa-css-charset en la bitácora de internacionalización.