Autor Zpráva
Honza22
Profil
Dobrý den,
používám následující zápis, pro to, aby se do indexu vkládaly další stránky, s údaji (hlavičkou, textem atd.), všechno mi jede, ale není to bohužel validní podle českého ani podle "orginálního" validátoru, prosím o radu, jak se mi do kódu dostala ta mezera, proti které český validátor "protestuje"...

index.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<?php
echo "<html>";
echo "<head>";
include"include/meta.php";

meta.php:
<meta name="description" content="xxx">
<meta name="keywords" content="xxx">
<meta name="author" content="yyy">
<meta name="robots" content="follow">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">

Český validátor:
"><html><head>_tady je červené místo_<meta http-equiv="
Použili jste prostý text v místě, kde byl očekáván nějaký element.

Předem díky za případné rady a nasměrování...
Honza
Měsíček
Profil
Mohl by jsi poslat odkaz? Osobně se mi zdá kód správně .. (až na to, že postrádám <title>).
Honza22
Profil
Kód jsem zjednodušil úplně na minimum a dal ho sem a zdrojové kódy jsem dal do zipu a validator si s tim poradi takto
Jinak <title> se includuje zvlášť, proto tam není, nepsal jsem celý kód, jenom začátek, kde chyba je...
Měsíček
Profil
Řekl bych, že to bude kódováním, které používáš jiné na includovaných skriptech a jiné na indexu .. zkus všechny dát do windows-1250 (to je jedno hlavně v tom neměj mix).
Honza22
Profil
Já všude používam UTF-8, a na indexu nepoužívam kódování žádný, to se právě až includuje z toho souboru meta.php...
Skoušel jsem to předělat na WIN-1250 ale to dělalo úplně totéž a bylo to stejně nevalidní...
Měsíček
Profil
Divné v tom případě to vzdávám :)

Zeptej se tvůrce validátoru, Chamurappiho.
DJ Miky
Profil
Zobrazí se mi před <meta> nějaký znak, zřejmě je to BOM neboli Byte Order Mark… Nastav si v editoru, aby se ti neukládal.

Kdyžtak má ASCII kód 63 a vyskytuje se tam celkem třikrát:
— před prvním <meta>
— před <title>
— před „Tady je text …“
Honza22
Profil
Vidíš, když jsem si dneska hledal něco o tom, proč to nejede narazil jsem i na článek o tomhle, ale bohužel byl postavenej tak, že ani autor neví, co s tim a jak ty BOM zakázat... Teď už stačilo jenom projít dokumentaci PSPadu a najít "Identifikující byty v UTF-8 kódování" a následně je zakázat...
Díky moc oboum, nyní je to opravdu validní... ;)
Miloš
Profil
Honza22
Jen drobné doplnění:
Já všude používam UTF-8, a na indexu nepoužívam kódování žádný, to se právě až includuje z toho souboru meta.php...
Soubor, který není nijak kódovaný, nemůže existovat. I ten index ukládáš v nějakém kódování.
Jedinou výjimkou by byl soubor, který je prázdný, neboli má nulovou velikost; ten opravdu není v žádném k=odování ;-)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0