Что такое 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 при сохранении файла. Это можно сделать двумя способами:
1. Откройте файл с помощью Notepad++.
2. В разделе «Кодировки» выберите Преобразовать в UTF-8:
Готово, вы убрали BOM-символы.
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-символы.