En ocasiones cuando estamos validando nuestra página para cumplir los estándares del w3c nos muestra una advertencia al principio que hasta a cualquier desarrollador puede sonarle a chino. Es la siguiente:
Código :
Warning Byte-Order Mark found in UTF-8 File. The Unicode Byte-Order Mark (BOM) in UTF-8 encoded files is known to cause problems for some text editors and older browsers. You may want to consider avoiding its use until it is better supported.
Aqui descubriremos que significa Byte-Order Mark (BOM) y como podemos deshacernos de ella de una forma total y definitiva. ( aplicable también a blogs como por ejemplo wordpress, que parece que ocasionalmente sucede).
¿Qué es el BOM?
Su significado es Byte Order Mark (BOM) y son unos carácteres que se sitúan al principio de un archivo codificado como UTF-8 para avisar a las máquinas que lo procesen si deben leer y guardar ese archivos mediante el metodo big-endian o little-endian. Estos dos metodos simplemente se basan en la manera en como se almacenan los datos, no estamos hablando de formatos o lenguajes ahora mismo sino de codigo binario cosa que normalmente a un programador web a menos de que haya alcanzado al nivel 100 no necesitaria (normalmente) entender.Cual es el problema que nos plantea el w3c?
Pues que alguno de nuestros archivos tiene esa marca al principio y que algunos navegadores (quien va a ser sino... IE) podría malinterpretarlas (leí que a veces insertaba un salto de linea).Algunas personas se aventuraran en un fugaz pensamiento a decir... bueno pos lo eliminamos y ya esta. Y yo os respondo hazlo si puedes
Cuando aparece el BOM
La marca de BOM es añadida por nuestro editor de texo/código automáticamente, algunos editores te permiten elegir si añadirla o no en sus preferencias o cuando guardas el archivo, otros no tienen la capacidad de añadirla y otros la añaden siempre (posiblemente la ultima posibilidad es la que generó nuestro pequeño problema...).
Cómo quitarlo
Muchos sitios recomiendan que abras tu archivo en un editor que te permita guardar archivos como UTF-8 no BOM y que lo guardes con ese formato pero yo personalmente aunque pueda funcionar, ese método no lo recomiendo ya que la única manera de saber si funcionó es validando tu archivo, nunca sabrás donde estaba el fallo ni si lo estas arreglando en el archivo correcto.
Podéis pensar que es obvio, si el index de tu página produzca el infame error es que ese archivo contiene el BOM. Pero, este error puede saltar por cualquier archivo adjunto a nuestro html/php. Puede ser un js externo, un include de php, cualquier fichero que incluyamos a nuestro archivo puede ser el responsable. Así que vayamos a la parte práctica.
Eliminar BOM editando el código binario
La única manera de saber con seguridad si un archivo contiene la marca maligna es abrirlo con un editor hexadecimal y comprobar si contiene el carácter al principio de todo. El código hexadecimal para BOM es “EF BB BF” asi que tendremos que comprobar todos los archivos que usemos en nuestra web.
AVISO: no modificar ningún otro código de nuestro archivo o podría explotar el router/modem y la metralla podría perforar la torre y destruir por completo el hard drive
Hay varios editores hexadecimales yo particularmente use Hex Fiend para mac (gratuito)

Por fessimon el 16 de Agosto de 2009
Por QuieroProgramar el 16 de Agosto de 2009
Por avange el 20 de Agosto de 2009
me interesa muchos tus articulos tutoriales y demas gracias por compartirlos
Por heydimecomo el 20 de Agosto de 2009
Por Raxiro el 21 de Agosto de 2009
Este error lo encontré también de forma rara, me tiraba un error un header location en PHP que decía que se ya había imprimido la salida, y por esto es que lo conocí.
Lo de usar un editor hexa es bueno, pero cuando tenes miles de archivos
Creo que con PHP se puede automatizar algo y buscar que archivos lo tienen.
Muy buen post, saludos.
Por carscx el 25 de Agosto de 2009
Por Johnny el 27 de Agosto de 2009
He bajado un programa de licencia libre lo he abierto y efectivamente salia al principio del todo:
ef bb bf
Es caracter raro.
Gracias de nuevo.
Por alonson el 15 de Abril de 2010
buscando encontré donde puedes testear tu web:(creo que tambien hay un script en perl para eliminarlo)
http://people.w3.org/rishida/utils/bomtester/
y encontrar un poco más de info:
http://www.w3.org/International/questions/qa-utf8-bom
salu2
Por roberth el 28 de Febrero de 2011
Por zInNeR el 04 de Mayo de 2011
Por oxxfreddyxxo el 19 de Julio de 2011
gracias!!!!