Nach dem Include einer Datei auf einmal keine UTF8 Ausgabe mehr
Harry FX
- php
0 fastix®0 Der Martin0 Harry FX0 ChrisB1 Der Martin
Hallo,
ich habe mir eine functions.php gebaut, in der ich etliche Funktionen gelagert habe.
Mein php Script das eine XML Datei erzeugt läuft eigentlich super, bis auf den Zeipunkt wo die functions.php includet wird, denn ab diesem Zeitpunkt erfolgt die Ausgabe nur noch im Ascii und nicht mehr im UTF8 Format.
Folgendes habe ich bisher gemacht:
es wir nur die functions.php includet "ohne eine Funktion aus zu führen"
Ergebnis: keine Änderung
ich habe die Datei mittels Ultraedit "Konvertierung nach Ascii und nach UTF8 Formatiert."
Ergebnis: keine Änderung
Kennt jemand dieses Phänomen?
Danke Harry
Moin!
Was macht denn Deine Functions.php? Oder die darin enthaltenen Funktionen?
Header senden?
Überprüfe mit einem geeigneten Tool was der Server wirklich sendet und dann warum dies so ist. Das Phänomen ist nur so lange eines bis seine Ursache erkannt ist.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Hallo,
Was macht denn Deine Functions.php? Oder die darin enthaltenen Funktionen?
Header senden?
oder Content? Vielleicht eine BOM? Oder eine Leerzeile?
Überprüfe mit einem geeigneten Tool was der Server wirklich sendet und dann warum dies so ist. Das Phänomen ist nur so lange eines bis seine Ursache erkannt ist.
ACK.
Ciao,
Martin
Hallo,
sehr komisch, wenn ich am ende der zu includenden Datei das ?> weglasse funktioniert alles einwandfrei!?
Hi,
sehr komisch, wenn ich am ende der zu includenden Datei das ?> weglasse funktioniert alles einwandfrei!?
Dann hast du ziemlich sicher ein Problem mit Whitespace ausserhalb des PHP-Bereiches, wodurch dein Script keinen Header mehr senden kann (was es vermutlich tut, um die Verwendung von UTF-8 dem Client anzuzeigen).
Das hätte aber auch eine entsprechende Fehlermeldung gegeben, wenn du das error_reporting auf E_ALL und display_errors auf 1 stehen hättest!
Nehme diese Einstellungen also bitte unverzüglich vor - ohne die zu entwickeln, ist Nonsense.
MfG ChrisB
Hi,
sehr komisch, wenn ich am ende der zu includenden Datei das ?> weglasse funktioniert alles einwandfrei!?
gar nicht komisch - das deutet darauf hin, dass nach dem ?> noch eine Leerzeile folgt.
Die wird an der Stelle sofort als Nutzdaten an den Client gesendet.
Dadurch ist aber automatisch das Senden der Header beendet; später im Script gesetzte Header können nicht mehr berücksichtig werden und lösen eine Notice aus: "Cannot modify header information; headers already sent ..."
Es wird übrigens sogar oft *empfohlen*, das abschließende ?> wegzulassen, so wie du es jetzt versuchsweise getan hast, wenn danach kein Nutzinhalt mehr folgt - um genau das zu vermeiden, was dir hier passiert ist.
Ciao,
Martin