При создании и редактировании файлов сайта с помощью стандартных программ, редакторы могут автоматически присвоить вашему файлу кодировку UTF-8 с BOM меткой.
BOM (Byte Order Mark) — символ вида U+FEFF, увидеть который можно в самом начале текста.
К чему приводит наличие символа BOM
- в файлах с расширением php часто высвечивается ошибка:
Warning: Cannot modify header information — headers already sent by (output started at …
- в файлах с расширением html сбиваются настройки дизайна, сдвигаются блоки, могут появляться нечитаемые наборы символов.
Чтобы исправить это, нужно пересохранить файл с кодировкой UTF-8 без BOM.
Первый способ
- 1 Откройте файл с помощью редактора Notepad++.
-
2
Нажмите Кодировки — Кодировать в UTF-8 (без BOM):
Второй способ
- 1 Подключитесь к серверу по SSH: Как подключиться по 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 \;
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊