4.8k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
hallo,
ich hab bei einer utf-8-codierten seite, die richtig dargestellt wurde, teile des quellcodes über php includes "ausgeklammert" um ein wenig platz zu schaffen. die include-dateien sind auch utf-8-codiert und der quellcode der letztendlich im browser geladenen seite sieht auch exakt so aus, wie der ursprüngliche. aber dennoch wird die seite fehlerhaft dargestellt. darum denke ich, dass es an der codierung liegt.
(wenn ich die include-dateien als ANSI codiere, sieht die seite wieder richtig aus, abgesehen davon, dass die umlaute natürlich nicht richtig dargestellt werden, wesshalb ich ja auch zu utf-8 gegriffen habe.)
fehlerhaft dargestellt wird das ganze übrigens nur im FF und viel extremer im IE. Safari und Opera geben das so aus wie ich es erwartet hatte.
Und nun die eigentliche frage:
was stimmt da dann mit der codierung nicht?

21 Antworten

0 Punkte
Beantwortet von
verschobene div's usw., also die ganze seite wird falsch dargestellt
0 Punkte
Beantwortet von
vielleicht solltest du die frage oben noch mal in ruhe lesen
utf-8-include in utf-8-seite --> seite falsch dargestellt
ansi-include in utf-8-seite --> seite richtig dargestellt, umlaute verständlicherweise falsch
0 Punkte
Beantwortet von dapascha Mitglied (541 Punkte)
Achso, jetzt kommen wir wieder vorwärts :D

Hast du im HTML-Code überprüft ob die HTML-Verschachtelungen noch passen, also ob du den Code an der richtigen Stelle einfügst?

Wird die CSS-Datei, falls vorhanden noch vor dem ersten HTML-Inhalt geladen, also im HTML-Header. Falls die Verschachtelungen falsch sind könnte das zum Beispiel CSS-Vererbungen außer Kraft setzen, oder gar zu Syntax-Fehlern im HTML führen. Valediere mal deine Seite hier.
0 Punkte
Beantwortet von dapascha Mitglied (541 Punkte)
Benutzt du vielleicht die htmlentities-Funktion o. ä. die deine < und > Zeichen maskiert und somit für den HTML-Interpreter unbrauchbar macht?
0 Punkte
Beantwortet von
verschachtelung stimmt, css ist im header, htmlentities-Funktion o. ä. benutze ich nicht.
aber ich hab jetzt noch einen hinweis entdeckt. ich schrieb ja, dass der quelltext aussieht wir vorher. das ist im ff und im ie auch der fall (die browser wo fehler sind). opera zeigt mir allerdings vor den stellen, wo das include eingefügt wurde einen komischen punkt (nicht der "." sondern knapp über der mitte. wenn ich den in den editor kopiere ist das zeichen weg)
0 Punkte
Beantwortet von
und dieser punkt ist nur da, wenn das include utf-8-codiert ist. wo kann der herkommen?
0 Punkte
Beantwortet von
0 Punkte
Beantwortet von
ok. soweit, glaube ich, hab ich die antwort selbst gefunden: der punkt ist ein Byte-Order Mark, welches wegen der utf-8-codierung am anfang der datei vorhanden ist und mitten in der datei stört. aber wie kann man dann überhaupt mit utf-8 innerhalb einer include-datei arbeiten?
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Indem du die BOM (Byte Order Mask, nicht Mark) entfernst. In jedem besseren Editor kannst du an- und abstellen, ob diese BOMs mit gespeichert werden oder nicht.
0 Punkte
Beantwortet von
Zu Umlauten: Umlaute sollten Grundsätzlich maskiert werden &auml; für ä usw..
Quatsch. Genau dazu gibts doch die UTF-8-Kodierung!
...