BOM (Byte ORDER Mark) är en sekvens osynliga tecken som är tänkta att indikera vilken typ av UTF som dokumentet är kodat i. Dessvärre fungerar detta väldigt dåligt eftersom varken applikationer eller webservrar tolkar informationen för detta - tecknen betraktas alltså bara som vanlig text vilket blir ett par tre osynliga skräptecken som ställer till det i webbapplikationsutveckling.
http://en.wikipedia.org/wiki/Byte-order_mark
Jag för min del tycker BOM verkar vara en kanska korkad lösning (även om det förefaller som det skulle fungera utan problem om unicode/utf genomgående användes) - rimligare vore väl att explicit ange teckenkodning med xml, http eller i databasen och liknande.