Bueno, antes que nada toda pagina web (e incluso todo programa hecho en cualquier c贸digo de programaci贸n) esta escrito en una codificaci贸n en especifica, la mas conocida entre la mayor铆a de quienes empiezan a programar es ASCII:
Tabla de Caracteres ASCII |
Esta tabla de caracteres establece una correspondencia entre c贸digos num茅ricos y un s铆mbolo correspondiente, es decir como una especie de lenguaje codificado (de all铆 el nombre) a este proceso de tomar una s铆mbolo y usarlo para representar otro se le conoce como: La codificaci贸n de caracteres siendo este el m茅todo que convierte un car谩cter de un lenguaje natural en un s铆mbolo de otro sistema de representaci贸n, como un n煤mero o en el caso de un ordenador una secuencia de unos y ceros. El juego de caracteres es la equivalencia car谩cter a car谩cter de la codificaci贸n de los caracteres de un lenguaje natural a un sistema de representaci贸n.
Ahora como siempre he dicho en mas de una entrada: 'La computadora es una tonta, eres tu el que le dice que hacer' y es que ellas no entienden nuestro lenguaje, ellas solo saben de 0s y 1s, es decir toda informaci贸n que se guarda en la computadora no son mas que agrupaciones de esos dos n煤meros ¿Pero entonces como rayos yo veo una A y no 0s y 1s?
Para no hacer el cuento muy largo, cada letra que escribes por teclado representa un s铆mbolo, cuando tu tecleas la 'A' por ejemplo, tu teclado manda una se帽al el茅ctrica a tu computadora, esta la recibe en forma de pulso el茅ctrico que reconoce como ceros y unos, estos mismos los va juntando hasta formar un byte de informaci贸n (es decir un grupo de ocho 0s y 1s, esto por lo regular, recordemos las unidades de memoria) estos posteriormente son identificados por el sistema para la impresi贸n de un car谩cter, en este caso la letra 'A' en el Juego de Caracteres ASCII es el numero 65 (es decir recibe el numero 1000001 binario, nosotros lo ponemos como 65 ya que es mas f谩cil para nosotros leerlo, ademas la computadora sola hace sus conversiones) en codificaci贸n binaria, es decir si la computadora recibe el numero 65 binario esta imprime la letra 'A'.
Y tu me preguntaras, bueno ¿Y que con esto Sherlok? pues el hecho es que el juego de caracteres en el que programes cualquier cosa importa mucho aunque no lo parezca (aunque a primera instancia no hagamos caso, en lo cual me incluyo) y mas si tu programa, pagina web o dem谩s tiene que interactuar con diferentes agentes externos como Bases de Datos, Hojas de Estilo, Conexiones con el Servidor, enlace con otros lenguajes de programaci贸n etc.
El ejemplo mas sencillo que puedo darte, ¿Alguna vez te ha tocado la situaci贸n que muestro en la imagen de arriba? ¿Esa donde te aparecen caracteres raros al entrar a un sitio en internet? a mi si me ha pasado, o para quienes llevan mas tiempo programando y son latinos o hablan espa帽ol, ¿Cuantas veces no nos hemos topado con el dilema de imprimir la letra 脩 correctamente en mas de un lenguaje? por ejemplo, la mas t铆pica que me toca es cuando tengo que trabajar en consola con mysql y las letras con acentos y dem谩s aparecen como caracteres raros. Esto se debe en parte por que tu estas usando un Juego de Caracteres mientras tu sistema utiliza otro, por ejemplo windows en su versi贸n 1252 utiliza el juego de caracteres ISO-8859-1 el cual posee varios caracteres usados en Europa, es asi que mientras en ASCII el numero 164 binario representa la letra 帽 en ISO-8859-1 representa un car谩cter totalmente distinto:
Por lo anterior es recomendable utilizar el mismo juego de caracteres en todos tus archivos y/o programas mientras sea posible (siempre tendremos el dilema de trabajar con elementos externos que no est谩n a nuestro alcance).
¿Cu谩l juego de caracteres debo utilizar?
Actualmente existe una gran variedad de Juegos de Caracteres desde ANSII, UNICODE, LATIN-1, UTF8, etc, sin embargo yo en lo personal prefiero utilizar UTF8 sin BOM.
La verdad podr铆a explicar por que pero dejare un video:
Ahora como explica el video es importante tener nuestro archivo con la codificaci贸n adecuada y especificar al lenguaje de programaci贸n en que Juego de caracteres estoy utilizando, dependiendo del lenguaje de programaci贸n que utilices esta especificaci贸n sera diferente, pero como aqu铆 estamos tratando con Programaci贸n Web veamos como especificarlo en nuestros archivos HTML y Hoja de Estilos.
Para Archivos HTML:
Cuando especificamos la codificaci贸n en un archivo HTML debemos hacerlo dentro de la etiqueta meta:
Etiqueta <meta>:
Este tipo de etiquetas se incorporan en el encabezado de una p谩gina web y resultan invisibles para un visitante normal, pero de gran utilidad para navegadores u otros programas que puedan valerse de esta informaci贸n.
Su prop贸sito es el de incluir informaci贸n (metadatos) de referencia sobre la p谩gina: autor, t铆tulo, fecha, palabras clave, descripci贸n, etc. Son muy importantes a la hora de posicionar tu pagina web pues de ellas se valen los robots de los motores de busqueda para indexar el contenido de un sitio web y posicionarlo en la pagina de resultados.
Esta etiqueta debe ser puesta dentro de la secci贸n del encabezado y deber谩 tener un formato similar al siguiente:
Como podemos ver, en el atributo charset en comillas se especifica el Juego de Caracteres a Utilizar.
Para archivos de estilos CSS:
En el caso de la hojas de estilos CSS es mucho mas facil, solo es necesario agregar @charset 'juego a tlizar' al principio del archivo:
Y por hoy es todo, espero les haya gustado la entrada, gracias.
Fuentes de referencia:
http://deteresa.com/etiquetas-meta/
http://desarrolloweb.dlsi.ua.es/libros/html-css/el-juego-de-caracteres
http://desarrolloweb.dlsi.ua.es/libros/html-css/como-indicar-el-juego-de-caracteres-en-una-hoja-de-estilo
http://www.mclibre.org/consultar/htmlcss/html/html-utf8.htmlhttps://elcodigoascii.com.ar
https://es.wikipedia.org/wiki/Etiqueta_meta
Notas: Esta informaci贸n ademas esta basada en gran parte por el programa "Act铆vate, Google Espa帽a", yo soy/fui alumno del programa para las fechas de redacci贸n de la entrada, te recomiendo si deseas ampliar aun mas tu conocimiento inscribirte y/o checar sus cursos disponibles visitando su link: http://google.es/activate.
<!Doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Titulo de Pesta帽a</title>
</head>
<body>
<p>Hola mundo</p>
<p>Como estan todos, Bienvenidos a StudentPlace</p>
</body>
</html>
Como podemos ver, en el atributo charset en comillas se especifica el Juego de Caracteres a Utilizar.
Para archivos de estilos CSS:
En el caso de la hojas de estilos CSS es mucho mas facil, solo es necesario agregar @charset 'juego a tlizar' al principio del archivo:
/*Inicio de archivo*/
@charset UTF-8;
/*Demas reglas*/
.body{
color:white;
}
Y por hoy es todo, espero les haya gustado la entrada, gracias.
Fuentes de referencia:
http://deteresa.com/etiquetas-meta/
http://desarrolloweb.dlsi.ua.es/libros/html-css/el-juego-de-caracteres
http://desarrolloweb.dlsi.ua.es/libros/html-css/como-indicar-el-juego-de-caracteres-en-una-hoja-de-estilo
http://www.mclibre.org/consultar/htmlcss/html/html-utf8.htmlhttps://elcodigoascii.com.ar
https://es.wikipedia.org/wiki/Etiqueta_meta
Notas: Esta informaci贸n ademas esta basada en gran parte por el programa "Act铆vate, Google Espa帽a", yo soy/fui alumno del programa para las fechas de redacci贸n de la entrada, te recomiendo si deseas ampliar aun mas tu conocimiento inscribirte y/o checar sus cursos disponibles visitando su link: http://google.es/activate.
Comentarios
Publicar un comentario