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 dapascha Mitglied (541 Punkte)
Gegenfrage: Was hat dein Inhalt im php-Quellcode verlohren?

Zu Umlauten: Umlaute sollten Grundsätzlich maskiert werden ä für ä usw..

Zur Codierung: Hast du im HTML-Header den Charset angegeben? Wenn du UTF-8 benutzt, dann sollte dort folgendes nicht fehlen:
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
0 Punkte
Beantwortet von
den charset hab ich angegeben
0 Punkte
Beantwortet von
Gegenfrage: Was hat dein Inhalt im php-Quellcode verloren?

ist es etwa falsch das menü über ein include in die seite zu bringen?
0 Punkte
Beantwortet von dapascha Mitglied (541 Punkte)
Wird, außer den Umlauten, noch was falsch dargestellt?
0 Punkte
Beantwortet von
wenn ich die include-dateien als ansi codiere, nicht. aber die eigentliche frage ich ja auch, warum utf-8-codierte includes in einer utf-8-codierten seite probleme machen.
0 Punkte
Beantwortet von dapascha Mitglied (541 Punkte)
Ich vermute, dass dein PHP-Interpreter nicht unter UTF-8 läuft. Bei einem include wird der Inhalt der eingebundenen Datei als String von PHP geholt. Stimmt der Charset der Datei mit dem des PHP nicht überein werden bestimmte Zeichen, wie z. B. Umlaute "zerstört".
0 Punkte
Beantwortet von
aber erklärt das das: "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 wie kann ich prüfen, ob der PHP-Interpreter unter UTF-8 läuft?
0 Punkte
Beantwortet von
ach und: bei utf-8-include in utf-8-seite gibts mit den umlauten keine probleme, nur damit jetzt keine missverständnisse auftreten. heißt das nicht, dass der PHP-Interpreter unter UTF-8 läuft?
0 Punkte
Beantwortet von dapascha Mitglied (541 Punkte)
Nach deiner letzten Seite bin ich nun verwirrt :D

Bei welchen Kombinationen gibt es Probleme, und bei welchen nicht?
0 Punkte
Beantwortet von dapascha Mitglied (541 Punkte)
bei utf-8-include in utf-8-seite gibts mit den umlauten keine probleme


Wo ist dann das Problem?
...