Перейти к содержимому
Портфолио Услуги Тарифы О себе Блог Контакты Lab Обсудить проект
Веб-разработка 1 мин

UTF-8 BOM валит миграцию и updater: невидимый байт в начале файла

UTF-8 с BOM с Windows-редактора валил миграцию: headers already sent без явной ошибки. Как ловлю по EF BB BF и что запрещаю в пре-коммите.

UTF-8 BOM валит миграцию и updater: невидимый байт в начале файла

На Windows редакторы иногда сохраняют PHP/CSV с BOM. Глазом не видно. Для скрипта миграции или updater Битрикс это «мусор» до <?php — и поехали headers already sent, белый экран, странный JSON.

Закулисье: почему винили не то

Первый раз искал баг в логике миграции и правах на upload. Логи молчали осмысленно, пока не открыл файл в hex: в начале EF BB BF. Файл «как будто UTF-8», редактор «как будто ничего не сделал». После этого BOM проверяю до того, как винить композит или хостинг.

Как ловлю

  • смотрю первые байты файла (EF BB BF);
  • в CI/пре-коммите запрещаю BOM на PHP;
  • CSV для импорта сохраняю без BOM или режу BOM на чтении.

Мелочь, которая стыкуется с миграциями и с десктопными проектами вроде Corvo. Если белый экран без явной ошибки — проверьте BOM.

Сделаем
классный сайт?

Напишите мне — обсудим ваш проект и подберём решение.

it@konstmax.ru
Открыт для новых проектов
Обсудить проект