UTF-8 with BOM VS UTF-8 without BOM?
В HTML unicode файлы без метки BOM отображаются карякозябрами, исправить это можно сохранив файл с меткой BOM.<meta http-equiv="Content-Type" content="text/html; charset=utf-8">В PHP unicode файлы если поставить метку BOM, команда session_start в начале файла выдаёт ошибку: 
Сохраняйте без BOM.
На моей памяти ВОМ был действительно нужен только в одном случае: для компиляции UTF-8 исходников в ВижуалСтудии, криворукие программисты которой не справились с автоматическим распознанием кодировки и не осилили сделать настройку, которая позволила бы пользователю задать кодировку принудительно.
В вебе про этот костыль лучше просто сразу забыть. Если проблемы с ним - значит, вы что-то неправильно делаете.