Hi,
Das mim Googlen bitte nochmal üben ;-) Das hier schaut gut aus:
header("Content-Length: " . filesize($file));
Setze hier mal nen beliebig hohen Wert ein und betrachte das Ergebnis.
Hmmm...
Ich hab das mal eingesetzt und für $file eine hohe Zahl eingegeben.
Passiert aber nix.
Ich habe jetzt auch nochmal gegoogelt und so wie ich das sehe, setzt man für $File den Pfad zu einer bestimmten Datei (Z.B. ZIP) ein.
Ich denke, das verwendet man, wenn man zum Beispiel Fortschrittsanzeigebalken bei Downloads erzeugen will.
So habe ich das jedenfalls verstanden.
Wäre ja jetzt auch zu einfach gewesen ;)
Möglich wäre z.B. folgendes. Die derzeit ausgebene Content-Length (PHP macht doch sehr viel automatisch, so vermutlich auch dieses. Vielleicht aber auch das CMS...) spiegelt die Anzahl der Zeichen wieder, der Browser will aber wissen, wieviele Bytes er bekommt...
Alternative:
Mach das, was Du da an Kodierungen umgestellt hast, wieder rückgängig. Evtl. kommst Du so schneller zum Ziel...
Der Fehler war schon vor der Kodierungsumstellung da.
Jedoch kann ich mir vorstellen das durch die Umzüge der Datenbankinhalte etwas schief gelaufen ist. Andererseits werden die Zeichen fast alle richtig dargestellt und die die nicht, habe ich in der DB-Tabelle wieder neu angegeben... Vielleicht stecken aber noch Zeichen drin, die das ganze durcheinanderbringen?
Ich sehe auch in Firebug, das die Beispieldatei wenn Korrekt eine Content-length von: 5572 und wenn falsch: 5266 also 306 Zeichen unterschied...
was ja eigentlich nicht für nur ein paar Zeichen falsch spricht.
Nochmal alles von vorne, wäre schwierig, da ich mittlerweile auch einige Dinge geändert habe, aber eigentlich nichts was ich mir vorstellen könnte was das verursacht haben könnte... Die Seiten sind auf CMS-Basis mit Text und Bildern als Inhalt. Nichts besonderes....
Gruß Ron
Grüße