Что такое BOM-символы и как их убрать

В этой статье мы расскажем, что такое BOM-символы и как их удалить из файла.

Что такое BOM

Создавать и изменять файлы сайта можно не только в панели управления, но и на компьютере, через стандартные программы (например, Notepad++ в Windows). При сохранении редактор может присвоить файлу кодировку UTF-8 с BOM-меткой.

BOM (Byte Order Mark) — это спецсимвол из стандарта Unicode, который добавляется в начале файла. Какие проблемы могут возникнуть, если есть BOM:

  • в файле с расширением .PHP может возникнуть ошибка “Warning: Cannot modify header information — headers already sent by (output started at …”;
  • в файле с расширением .HTML могут отображаться нечитаемые символы вместо текста, а также может искажаться разметка страницы.

Как убрать BOM-символы

Чтобы убрать спецсимволы, достаточно выбрать кодировку UTF-8 без BOM при сохранении файла. Это можно сделать двумя способами:

 
Через Notepad++

1. Откройте файл с помощью Notepad++.

2. В разделе «Кодировки» выберите Преобразовать в UTF-8:

Готово, вы убрали BOM-символы.

 
По SSH

1. Подключитесь к серверу по SSH.

2. Проверьте файлы на наличие BOM-символов. Для этого выполните команду:

find -type f|while read file;do [ "`head -c3 -- "$file"`" == $'\xef\xbb\xbf' ] && echo "found BOM in: $file";done

3. Если BOM-символы найдены, удалите их:

find . -type f -exec sed 's/^\xEF\xBB\xBF//' -i.bak {} \; -exec rm {}.bak \;

Готово, вы убрали BOM-символы.

 

Если вы не нашли ответ, спросите у нас!
Написать в поддержку