AGAVA partners programs http://agava.ru/partners/            

Название функции

             
Веб-курсы


Что это?

Оглавление

Основы
Основы основ

Практика
Гостевая книга
Простой сайт
Структура сайта (MVC)
Ядро (Light)
Ядро
Гостевая на SQL
Статические страницы
Модуль новостей
Система регистрации

Теория
Дебаггинг
Регулярные выражения
Введение в ООП
Паттерны проектирования

Репозитарий
BB-code
Почтовый класс
Пагинатор
Всякие полезности

Download
Полезные утилиты

Разное
Видеокурсы
Последние изменения
Вопросы и замечания сюда



Реклама

Диеты для похудения
Фреймворк Kohana. Обучение. Мануал на русском.







AntiBOM

Первое, с чем зачастую сталкиваются те, кто сделал правильный вывод и решился перейти на кодировку utf-8, это отказ работы хидеров.


1
2

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\site.ru\www\index.php:1)
 in Z:\home\site.ru\www\index.php on line 8


Они почему то подло и гаденько начинают верещать, что перед ними был осуществлен вывод в поток, хотя тщательный анализ под микроскопом показывает - нет там вывода. И пробелов нет. Ничего нет.

Если внимательно изучить ошибку, то становится ясно - ругается он на первую строчку индекса
(output started at Z:\home\site.ru\www\index.php:1)

С уверенностью 99,99% можно констатировать - это BOM (byte order mark)
Это такая маркировка файлов с кодировками UTF.
Чесно говоря я не встречал ситуации, где эта маркировка была бы полезной, если используется UTF-8. Для UTF-16LE и UTF-16BE возможно, но для восьмерки один вред. Как говорится - хотели как лучше, получилось как всегда.

Так вот, это ни что иное, как три байта (в нашем случае EF BB BF), с которых начинается файл. А сервер воспринимает их как вывод и начинает материться.

Как с этим бороться.
Во первых - перенастроить свой редактор. Нужно выбрать формат UTF-8 without BOM, что обозначает utf-8 без BOM

Ну а во втроых нужно удалить эти три байта из файлов, которые вцепились в них мертвой хваткой. Просто пересохранить в новом формате не всегда выходит.

Для этого можно воспользоваться утилиткой, которую мы разработали специально для таких ситуаций.


Рейтинг@Mail.ru Рейтинг@Mail.ru Яндекс цитирования
irbis-team © 2009