Eliminació del BOM (Byte Order Mark) en un fitxer codificat amb UTF-8

Mentre programava en PHP a la feina, una de les pàgines mostrava al principi això: »ï»¿»

Tal com diu en aquest article de la wikipedia: http://en.wikipedia.org/wiki/UTF-8#Byte_order_mark això passa quan el fitxer s’ha desat amb alguns programes de Windows amb codificació UTF-8 que incorporen al principi els bytes 0xEF, 0xBB i 0xBF. És la codificació UTF-8 del Unicode byte order mark (BOM), comunament referida com UTF-8 BOM.

Per eliminar el UTF-8 BOM podem usar aquest script en perl que desem per exemple al fitxer eliminaBom.pl:

#!/usr/bin/perl
@file=<>;
$file[0] =~ s/^xEFxBBxBF//;
print(@file);

I l’executarem així:

perl eliminaBom.pl < fitxerAmbBom.txt > fitxerSenseBom.txt

Fet 🙂

Rating: 2.50/5. From 1 vote.
Please wait...