UTF8 Byte Order Mark (BOM) é seqüência de bytes para representar o arquivo como UTF8. A seqüência é hexadecimal EF BB BF valor também pode vê-lo no início do arquivo como ï »¿ . Quando estes símbolos é utilizado o editor de texto reconhece esse arquivo como UTF8.
Na maioria dos casos ele cria um problema para programadores PHP. Quando o arquivo php é interpretado estes símbolos enviados para a saída diretamente (porque não estão dentro de <? Php?> Tags). Se o arquivo php modifica ou envia cabeçalhos, BOM é enviado antes de os cabeçalhos (como uma saída) e cabeçalhos de envio falhar. Geralmente você vê esse erro:
Aviso: Não pode modificar a informação de encabeçamento - encabeçamentos já enviada pelo (a saída começou em / path / to / php / public_html / config.php: 28) in / path / to / php / public_html / index.php on line 101
A solução é remover a assinatura BOM UTF8 a partir dos arquivos PHP. No Notepad + + ou EmEditor você pode salvar o arquivo sem BOM UTF8. Outro método consiste em abrir os arquivos com o editor não pode ler com utf8 e remover esses ordem de bytes manualmente.
A maneira mais fácil é a ferramenta bomremover. Você pode obtê-lo http://code.google.com/p/bomremover/ .
# Cd / path / to / php / files /
# / caminho / para bomremover / / bomremover.sh-r
Isto irá recursivamente localizar os arquivos e remova o BOM a partir de arquivos.
Para a remoção de BOM de um único arquivo:
# Cd / path / to / php / files /
# / caminho / para bomremover / / index.php bomremover.sh
Referência:
http://dev.az/wiki/BOMRemover
http://search.cpan.org/ ~ lyokato/UTF8BOM-1.02/lib/UTF8BOM.pm
http://en.wikipedia.org/wiki/Byte_order_mark
http://www.unicode.org/standard/WhatIsUnicode.html
Nenhum comentário :
Postar um comentário