Blog what I write

Valid XHTML & Byte-Order in UTF-8

post - - 3 replies -

Seguramente a muchos les sonará esto:

Byte-Order Mark found in UTF-8 File

Aunque el marcado XHTML sera totalmente correcto, algo se esconde en nuestro código, ese algo es capaz de hacer saltar las alarmas del validador W3C y generar un desconcertante warning.

BOM es usado por UTF para mejorar el proceso de compresión, pero algunos navegadores antiguos no lo soportan. Es por esto que el W3C no recomienda su uso y lanza una alerta.

La primera vez que me encontré con esta alerta (hace algo más de 2 años), la razón fue que tenía marcada la opción BOM en Dreamweaver.

BOM & Dreamweaver

Pero hace unos días me volvió a suceder (con este mismo blog) y estaba convencido que no podía ser mi código, así que rebusque hasta que… EUREKA! se trataba de un plugin 🙁

Moraleja: cuidado con el BOM en los plugins de otros programadores.

  • lloku

    Maldita moda UTF-8, solo lo uso para WS por la dichosa manía de los clientes, pero nunca le encontraré la ventaja en el mundo web, al menos en un 99% de las ocasiones, para que necesitamos carácteres japoneses si al final de los caractéres no ascii solo usamos los imprimibles ISO y nos solemos dirigir a lo sumo a los paises occidentales?¿? ISO-8859-1 con sus entidades html por siempre XD, tantas peleas con editores, BOM y demás.
    UTF-8 es una solución “práctica” para proyectos “muy” internacionalizados, para el resto siempre me parecerá un recurso innecesario.
    Saludos

    • En esto discrepo contigo lloku.

      El desarrollar “todo” bajo un entorno UTF es la cosa más cómoda que existe. Te olvidas de transcripciones de entidades HTML, caracteres especiales, etc.
      Si todos los niveles están bien gestionados con UTF (base de datos, web) te ahorras quebraderos de cabeza (he pasado por algunos).

      Otro tema es que surgen nuevos quebraderos de cabeza como el tema BOM, pero la culpa aquí es de solo algunos editores que meten la pezuña más de la cuenta.

      Cualquier proyecto en Internet puede ser internacionalizado tarde o temprano y UTF te abre las puertas a ello y te evita emplear tiempo en la codificación.

      Me encanta debatir contigo, eres el alma (opositor) de este sitio web jejeje

      Chao lloku 😉

  • lloku

    Puede ser cierto que sea un coñazo el tema de las entidades html, si bien al final poco se pone a “mano” ;). Si todos los niveles están bien gestionados da igual el encoding, que sea UTF-UTF o ISO-Latin no deberíamos tener ningún problema.
    En cuanto a la internacionalización, es lo único positivo (y para lo que se creó) si bien hay algún lenguaje con símbolos a los que no llega ¿Pero realmente crees que todo proyecto puede tener la oportunidad de internacionalizarse? La mayoría tienen sus targets bien definidos y entre ellos se encuentra la localización en infinidad de ocasiones.
    Aún así sigo diciéndolo no se si me equivoco pero el chino no tiene al menos 512 caracteres o nos estamos engañando a nosotros mismos?
    De verdad que no creo que el UTF-8, pese a ser un standar aceptable, sea la panacea y que en un futuro todo el mundo lo utilice, ya es muyyy viejo y en el occidente sigue habiendo mucho ISO-8859-1 y en el oriente mucho ISO-2022.
    (Pero vamos que mas que nada yo es por llevar la contraria y dar vida a esto XD)