Modulo 4 - Lección 4 - el juego de caracteres y los editores de texto
Utiliza siempre el mismo juego de caracteres en todo lo que
hagas.
Y utiliza UTF-8 sin BOM, que te permite mezclar en un mismo
documento textos en cualquier idioma.
Pero ya te avisé en el otro vídeo: hay que
saber mucho, mucho más, ya que cuando las cosas empiezan a ir mal, esos dos
consejos no son la solución para todos los problemas.
Hace unos días recibí el siguiente correo:
Estoy probando lo del juego de caracteres
(usando Notepad++). En el vídeo recomiendas usar UTF8 sin BOM. Resulta que el
fichero lo tengo con codificación ANSI, pero si lo cambio a UTF8 sin BOM, el
disquete de guardar no se me marca (es decir, no se ha modificado el fichero).
Entonces marco UTF8, se marca el disquete y guardo. Ahora selecciono UTF8 sin
BOM. Se me marca el disquete y guardo (un pequeño chanchullo para que me
permitiese guardar UTF8 sin BOM).
Y el correo continuaba:
Y ahora viene el tema. Si he guardado en UTF8
sin BOM, cuando cierro el fichero y lo vuelvo a abrir, la codificación que me
marca es ANSI. ¿Es normal? También veo "Convertir a UTF sin BOM"
además de "Codificar en UTF sin BOM" ¿cuál es la diferencia?
Bien, primero vamos a ver qué es eso del BOM.
BOM es el acrónimo de Byte Order Mark, la Marca de Orden de Bytes y es un
carácter Unicode que se utiliza para indicar el orden de los bytes de un
fichero de texto al principio del fichero.
Básicamente existen dos órdenes de bytes, el
little-endian y el big-endian, que definen de qué forma se almacenan los datos
que ocupan más de un byte en el ordenador. ¿Confuso?
Sí, puede ser muy confuso. Ya sabes, para
solucionar los problemas con los juegos de caracteres hay que saber mucho.
Volviendo al BOM, en el caso de UTF-8 es un
carácter Unicode que ocupa 3 bytes y que tiene esta representación en
hexadecimal (en imagen a la derecha) y aparece representado de esta forma como carácter. (en imagen a la izquierda)
¿Cuál es el problema de todo esto?
Lo mejor es utilizar UTF-8, nos evitamos
problemas, podemos escribir cualquier carácter, podemos mezclar todos los
idiomas del mundo.
Pero UTF-8 lleva el BOM, esos tres bytes al
principio del fichero, y hay programas que no se llevan muy bien con el BOM.
Por ejemplo, PHP5 no tiene un soporte completo
de UTF-8: si vamos a trabajar con PHP5, debemos de utilizar UTF-8 sin BOM. Voy a realizar una
demostración práctica con el editor Notepad++ para que lo entiendas mejor. Te
voy a mostrar un problema típico que aparece cuando trabajamos con UTF8 y con
PHP5.
Ver vídeo para comprobar un ejemplo.
Comentarios
Publicar un comentario