Przenoszenie head do body

0

Mam problem z błędem w HTML, którego nie potrafię zobaczyć, chodź widzą go przeglądarki i walidatory html. Na moje nieszczęście żadne z nich nie informuje mnie z jakiego powodu powstaje błąd, jedynie informują o jego rezultatach. Mianowicie przeglądarki przenoszą mi wszystko zawarte pomiędzy znacznikami <head></head> na początek <body>.
Przy walidacji za pomocą html5.validator.nu lub http://validator.w3.org/ pokazuje mi zawsze jako pierwszy błąd:
Element head is missing a required instance of child element title.
oraz wiele błędów spowodowanych tym, że znaczniki meta nie są w <head>. Przeszukiwałem już internet z góry na dół i wszerz, sprawdzałem czy nie ma jakiś ukrytych znaków, które by to spowodowały, jednak nic nie znalazłam. Może ktoś z was spotkał się już z takim błędem lub mógł by przejrzeć ten kod? Może coś zauważycie?

Fragment kodu:


<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!-->
<html lang="pl" class="no-js">
<!--<![endif]-->

<head>
<meta charset="utf-8">
	
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
	
	<meta name="keywords" content="piaskowanie, piasek suszony, siatki zgrzewane, śrut cięty, podkarpackie, Żołynia, śrut, piasek, suszarnia piasku, zgrzewanie, drut ciągniony">\n
	<meta name="description" content="Jesteśmy wielobranżową firmą posiadającą duży park maszyn i pojazdów ciężkich. Zajmujemy się: piaskowaniem, obróbką metali, produkcją piasku suszonego, siatek zgrzewanych, śrutu ciętego.">
        <meta name="viewport" content="width=device-width">
	<meta name="author" content="xxxx">
	<meta name="fragment" content="!">	
        <base href="http://xxxx.pl/">
	<title>Antyk</title>
	<!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
	<link rel="stylesheet" href="css/normalize.css">
	<link rel="stylesheet" href="css/main.css">
	<link href="css/nivo-slider.css" rel="stylesheet" type="text/css">
	<link href="css/kwicks.css" rel="stylesheet" type="text/css">
	<link href="css/jquery.lightbox-0.5.css" rel="stylesheet" type="text/css">
	<link href="css/adipoli.css" rel="stylesheet" type="text/css">
	<link href="css/jquery.cookiebar.css" rel="stylesheet" type="text/css">
	
	<script type="text/javascript">
		var debug = false, displayStartAjax = false;
	</script>
	<script src="js/vendor/modernizr-2.6.1.min.js"></script>
	<!--[if gte IE 9]>
	  <style type="text/css">
		.gradient {
		   filter: none;
		}
	  </style>
	<![endif]-->
</head>
<body>
	<!--[if lt IE 7]>
			<p class="chromeframe">Używasz przestarzałej wersji przeglądarki internetowej. <a href="http://browsehappy.com/">Uaktulnij twoją przeglądarkę teraz</a> lub <a href="http://www.google.com/chromeframe/?redirect=true">zainstaluj Google Chrome Frame</a> by poprawnie wyświetlić tą stronę.</p>
		<![endif]-->
...
</body>
</html>
1

Patrz tutaj :D http://i.imgur.com/wf7wGnu.png

pierwsze to Twój kod, stopniowo upraszczany,
drugie to kod skopiowany z mojego projektu, uproszczony do tej samej postacji

zakładam, że po prostu wdarły Ci się w kod jakieś niewidoczne/niepoprawne znaki unicode i walidator nie ogarnia od któregoś momentu.

HA! tuż przed zapostowaniem odkryłem przyczynę ;) skopiuj sobie Twój kod i wklej go w notatnik ;)

0

Dzięki wielkie za pomoc.

Znalazłem w końcu błąd chodź było to bardziej skomplikowane. Wstawienie kodu do notatnika niestety nie pomogło. Z jakiegoś powodu u mnie nie wyświetla tego znaku. Wstawiłem więc do notapad++ i wyświetliłem wszystkie ukryte znaki. To także nie pomogło. Dopiero konwersja na ANSII pokazała winowajcę.
Znalezienie przyczyny też łatwe nie było, bo pokazany kody jest generowany przez PHP. Okazało się że znak wstawia funkcja include przez to ze dołączany plik zapisany był w UTF-8 z BOM.

1 użytkowników online, w tym zalogowanych: 0, gości: 1