miércoles, 13 de abril de 2016

Notas_Módulo 4_HTML Juego de caracteres y editores de texto

Comentarios 2
  • Twittear
  • Compartir en Facebook

Juego de caracteres

El juego de caracteres, también llamado codificación de caracteres genera muchos problemas

Los consejos más importantes para trabajar con el juego de caracteres:
  • Utilizar siempre el mismo juego de caracteres 
    • Todos los ficheros que componen un sitio web ( HTML, CSS, JavaScript, de texto, etc.) deben estar almacenados en el mismo juego de caracteres.
    • También todas las páginas PHP y cualquier fichero de texto que se lea desde PHP. 
    • Todos los datos que estén almacenados en la base de datos y la conexión que se establezca con la base de datos.
    •  Y si se invoca a un servicio web que devuelve datos en formato XML o JSON, también éstos tienen que estar en el mismo juego de caracteres.
             A veces esto no se puede lograr porque no depende de uno mismo, el problema puede  convertirse en grave con solución muy costosa.
  • Utilizar UTF-8 sin BOM: Permite mezclar en un mismo documento texto en distintos idiomas (permite mezclar caracteres de cualquier alfabeto). Si no se puede usar UTF-8 sin BOM (Byte Order Mark es un carácter que indica la ordenación de los bytes en un flujo de caracteres Unicode) es recomendable usar ISO-8859-1 (Latin1) porque no da problemas con los idiomas de origen occidental, incluido el español.
  • Diferencias entre ISO-8859-1 (Latin1) e ISO-8859-15 (Latin9): Si se quiere escribir el signo del euro € hay que usar el juego ISO-8859-15 (Latin9). Ambos juegos se diferencian en 8 caracteres que han cambiado pero el que realmente nos importa es solo el símbolo del euro.

  • El juego de caracteres en HTML se indica con la etiqueta <meta>. Se escribe esta etiqueta en el <head> de la página web pero depende de la versión de HTML y antes de la etiqueta <title>
  • Diferencias entre HTML4, XHTML1 y HTML5
    • HTML4 hay que usar esta sintaxis
      •  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    • XHTML1 hay que usar esta sintaxis
      • <meta http-equiv="Content-Type" content="text/html; charset=utf-8 />
      • <meta http-equiv="Content-Type" content="text/html; charset=uft-8"></meta>
      • Si se emplea un juego diferente a UTF8 hay que indicar el juego de caracteres mediante la declaración de documento XMK al principio de la página web con esta sintaxis  <?xml version="1.0" encoding="ISO-8859-1"?>
    • HTML5 es más sencillo.
      • <meta charset="utf-8">
      • <meta charset="utf-8" />

Editores de texto


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.

Existen dos órdenes de bytes,
  • El little-endian
  • El big-endian,
que definen de qué forma se almacenan los datos que ocupan más de un byte en el ordenador.

En el caso de UTF8,
BOM es un carácter Unicode que ocupa 3 bytes y que tiene esta representación en hexadecimal EF BB BF y aparece representado de esta forma como carácter 
Lo mejor es utilizar UTF8 porque podemos escribir cualquier carácter y mezclar todos los idiomas del mundo. Pero UTF8 lleva el BOM, esos tres bytes al principio del fichero, y hay programas que no se soportan bien el BOM.

Por ejemplo PHP5 no tiene soporte completo de UTF8 y por eso debemos trabajar con UTF-8 sin BOM.

Si estamos trabajando en Notepad ++, debemos ir al menú de Codificación y seleccionar UTF-8 sin BOM.
  • Usamos CODIFICACIÓN-CODIFICAR cuando iniciamos un archivo nuevo o a partir del punto de un mismo fichero en el que se usará un nuevo juego de caracteres. Codificar supone establecer un juego de caracteres a partir del punto en el que nos encontramos.
  • Si se quiere transformar/convertir todo el fichero a un único juego de caracteres, hay que usar CODIFICACIÓN-CONVERTIR
Para ver la codificación hexadecimal en Notepad++ vamos al menú Plugins-HEX Editor.

Es muy importante tener en cuenta que hay que poner la etiqueta <meta charset> para indicar el juego de caracteres. Y este juego de caracteres debe de coincidir con el juego de caracteres que físicamente se está empleando para almacenar el fichero (se ve en la barra de estado).





2 comentarios: