Kleines Problem mit Navigation includen

rolli123

Mitglied
Hallo,

ich habe mal meine Navigation "ausgelagert"und in eine Datei gespeichert "navi.html" .Diese liegt auf dem Server im selben Verzeichnis wie die index.php und alle anderen Seiten.
Eingebunden habe ich die mit <?include'navi.html'?>. Klappt auch alles wunderbar bis auf die Kleinigkeit, das, wenn ich mir im Browser den Quelltext anzeigen lasse, vor der UL für die Navigation ein kleines rechteckiges Kästchen angezeigt wird.

Ansehen könnt Ihr Euch das hier: http://www.hieroglyphenweb.de
Bitte den Quelltext anzeigen lassen.

Woran könnte das liegen?

Danke im voraus für Eure Hilfe
gruss
Rolf
 
Das liegt an der Kodierung des/der Dokuments/e. Ich sehe bei mir im Quelltext die Zeichenfolge . Das tritt bei mir auf, wenn ich das Dokument UTF-8 kodiert speichere-
 
Gumbo hat gesagt.:
Du musst auch die verwendete Zeichenkodierung spezifizieren, sonst weiß der Browser doch gar nicht, wie er den Inhalt verarbeiten soll. Dieses „Kästchen“ ist übrigens wahrscheinlich das BOM von UTF-8.

Die verwendete Zeichenkodierung ist spezifiziert wollte ich gerade schreiben, stimmt auch, in allen Seiten habe ich UTF-8 als charset eingetragen, aber in der "navi.html" nicht. Kann sein, das ich die als normalen Text ASCI II gespeichert habe und nicht mit UTF-8.

Die navi.html habe ich auch ohne Doctype abgespeichert, einfach nur die UL/LI der Navigation. Muss da der Doctype auch rein?

gruss
rolf
 
Die Zeichenkodierung muss im HTTP-Header und nicht erst im Dokument selbst spezifiziert werden. Da die Seite mit PHP generiert wird, setze einfach am Anfang des Skripts das „Content-Type“-Header-Feld manuell mithilfe der header()-Funktion:]
PHP:
header('Content-Type: text/html; charset=utf-8', true);

Übrigens nutzt du XHTML, zeichnest das Dokument aber „nur“ als HTML aus. Etwas paradox, meinst du nicht auch?
 
Gumbo hat gesagt.:
Die Zeichenkodierung muss im HTTP-Header und nicht erst im Dokument selbst spezifiziert werden. Da die Seite mit PHP generiert wird, setze einfach am Anfang des Skripts das „Content-Type“-Header-Feld manuell mithilfe der header()-Funktion:]
PHP:
header('Content-Type: text/html; charset=utf-8', true);

Langsam versteh ich garnichts mehr:(
Die Seite wird ja nicht komplett mit PHP generiert, sondern nur die Navigiation wird "includet". In den einzelnen Seiten habe ich ja im Http-Header die Zeichenkodierung UTF-8 drin. In welches Script soll ich das einfügen, in der navi.html?


Übrigens nutzt du XHTML, zeichnest das Dokument aber „nur“ als HTML aus. Etwas paradox, meinst du nicht auch?

Stimmt, alle Seiten enden mit .php, bei der navi.html ist es falsch.

gruss
rolf
 
Egal aus wie vielen Bestandteilen eine Webseite zusammengesetzt ist, am Ende wird ja ein eigenständiges Dokument ausgegeben. Und diese Ausgabe muss entsprechend klassifiziert werden. Wo die Einzelteile herkommen, ist egal, hauptsache das Resultat ist richtig.

Stimmt, alle Seiten enden mit .php, bei der navi.html ist es falsch.
Ich meinte eigentlich die Differenz zwischen der deklarierten Sparche (siehe verwendete Dokumentypdeklaration) und der Typ-Klassifizierung (siehe „Content-Type“-Header-Feld).
 
Gumbo hat gesagt.:
Egal aus wie vielen Bestandteilen eine Webseite zusammengesetzt ist, am Ende wird ja ein eigenständiges Dokument ausgegeben. Und diese Ausgabe muss entsprechend klassifiziert werden. Wo die Einzelteile herkommen, ist egal, hauptsache das Resultat ist richtig.

Erstmal ein Danke für Deine Geduld. Ich glaube soweit verstehe ich auch alles. Der Header in allen meinen Dokumenten sieht ja so aus:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/Strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="layout.css"/>
<title>hieroglyphenweb.de</title>
</head>

Da ist doch die Kodierung drin (siehe Markierung).

Wo soll ich denn jetzt deinen:

PHP:
header('Content-Type: text/html; charset=utf-8', true);

einbauen?

Danke nochmal
gruss
rolf
 
Zurück