Generando archivos con marca BOM

17 Jun 2009 En: php

Me he tropezado con una aplicación en flash a la que no le era suficiente con enviarle cabeceras con la codificación de los datos xml, leyendo un poco la documentación del producto me encontré con que los datos debian tener una marca BOM para indicar que estaban codificados en utf-8, y así ser interpretados correctamente.

Investigando un poco y desde la wikipedia: http://es.wikipedia.org/wiki/Byte_Order_Mark

En Unicode, una Marca de orden de bytes o (BOM, por el inglés Byte Order Mark) es el carácter Unicode U+FEFF en code point (espacio no-separable de anchura-cero, en inglés zero-width no-break space), cuando este carácter se emplea para marcar el endianness (la orientación de escritura del flujo de bytes) de una cadena de caracteres UCS/Unicode con código en UTF-16 o UTF-32 y/o como marca para indicar que el texto está codificado en UTF-8, UTF-16 o UTF-32.

A continuación el sencillo código que genera dicha marca:

<?php
// Eliminando todo del buffer
while (@ob_end_clean());
// Se enviará un archivo xml
header('Content-type: text/xml');
// se imprime la marca BOM
echo chr(0xEF).chr(0xBB).chr(0x0BF);
?>
<Anterior   Siguiente>

Quién es?

View Andrés F Vargas's LinkedIn profile Andrés F Vargas es un programador Colombiano, que le gusta el open source, en los últimos años se ha enfocado en el desarrollo y operación de aplicaciones web.