Я разделил страницу на три части: 1) header - заголовочная часть HTML: <html> <head> <meta charset="utf-8" /> <title>mySite.</title> <link href="css/main.css" type="text/css" rel="stylesheet"/> <!-- <link rel="icon" type="image/png" href="pict/subaru.png" />--> <script type="text/javascript" src="js/jquery.min.js"></script> </head> <body> 2) Динамически формируемое тело страницы 3) footer - нижняя часть страницы HTML: </body> </html> и собираю страницу следующим образом PHP: $page = strtolower(trim($_REQUEST[$requiredPageKey] === null ? '' : $_REQUEST[$requiredPageKey] . '')); if ($page) { $page = '.' . DIRECTORY_SEPARATOR . 'php' . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR . $page . '_page.php'; if(file_exists($page)) { require_once '.' . DIRECTORY_SEPARATOR . 'php' . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR . 'header.php'; require_once $page; require_once '.' . DIRECTORY_SEPARATOR . 'php' . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR . 'footer.php'; } } Но по какой-то причине все содержимое тега head оказывается внутри body... IE и Chrome дают одинаковый результат, т.е. это не проблема понимания конкретного браузера. В чем может быть проблема?
Это и не может быть проблемой браузера ибо код в него приходит уже сформированный, а формируется он на сервере.
В общем это не проблема сервера, да и не проблема браузера. Это проблема среды разработки, а точнее Netbeans. Я создал блокнотом файл в кодировке utf-8, а редактировал его в Netbeans. При открытии такого файла в Netbeans я вижу этот "маркер utf-8" в самом начале файла. Работая ранее над проектом на Ado.Net я столкнулся с тем, что при удалении данного маркера кодировка сбивается. Поэтому, приступив к проекту на PHP, я данный символ не трогал. Я точно не знаю, что с этим маркером происходит в Netbeans, но из-за него в итоге и происходила вся чехарда. Сейчас я его удалил и всё стало нормально. Несколько лет назад вроде такой проблемы не наблюдалось у Netbeans. А может просто я что-то делал тогда иначе...
В np++ есть и с BOM, и без него, а вот как объяснить это обычному блокноту?))) Да и в Netbeans я не вижу этих перекодировок...
Обычным блокнотом пользоваться точно не стоит. Я пользуюсь NP++ И ничего другого не знаю. Вроде пока всё устраивает. Пользуйся им или другим блокнотом, который может в кодировки.
Вот, оказывается что именно так)) Для меня это тоже было загадкой. А оказывается что это самая обыкновенная точка с несколькими пробелами
Фу, кака этот бом. Не знаю зачем он нужен, но у неопытных пользователей всегда с ним проблемы. Особенно когда нужно заголовки отправлять. Это некая сущность, которая создаётся в начале файла, в ней хранятся какие-то заголовки, ещё что-то ХЗ короч.
Короче, если я правильно понл из прочитанного в вики, то BOM - это обозначение для понимания того, в какой кодировке файл. Только не понятно зачем оно нафиг надо, если скрипты, кодированные без этого BOM тоже вполне правильно работают.
Ну ребят, ну можно же найти инфу было и почитать. --- Добавлено --- По сути это костыль, который все никак не отвалится.
Ну вот я и прочитал что его использование - необязательно. Теперь хрен пойми зачем он вообще нужен, если он необязателен, и без него всё отлично работает.
Ну вроде как он отвечает за определение кодировки, UTF-8/16/32. НО, в вебе мы кодировку указываем явно и пользуемся только UTF-8, так что нам этот маркер не нужен.
В случаях, когда у тебя где-то используется UTF-8/16/32 окромя веба, где нет заголовков, явно сообщающих кодировку, и где, по сути, без BOM-а ты точно не определишь сходу, в какой именно вариации UTF у тебя файл.