Le BOM en UTF-8 ce sont quelques octets en tête de fichier qui définissent l'encodage et d'autres joyeusetés.Je met sans DOM moi. (edit : mais je sais pas la différence je vais rechercher ça)
Il est notoire que PHP fonctionne mal avec ces quelques caractères, puisque ne sachant pas les interpréter, il les affiche, ce qui cause moults soucis lorsqu'on utilise la fonction header() par exemple (qui ne fonctionne plus puisque PHP à déjà envoyé quelque chose vers le tampon de sortie - les caractères DOM !)
UTF8 sans BOM est, avec raison, la bonne piste à prendre.