Christian Kruse: file_put_contents UTF8 crash

Beitrag lesen

Hallo Henry,

Das, was du beschreibst, hört sich danach an, dass der Editor nach deinem anhängen Zeichen enthält, die nicht in UTF-8 kodiert sind und sich deshalb dazu entscheidet, dass die ganze Datei nicht in UTF-8 kodiert ist.

Da triffst du wohl den Nagel auf dem Kopf. Weiß zwar noch nicht genau warum, aber ja die letzte Zeile sieht noch hierogyphenhafter als der Rest aus. Das hilft mir schon mal, hätte nicht gedacht, dass die ganze Datei dann wegen einer schädlichen Zeile nicht mehr erkannt wird.

Man kann die Kodierung nur mit Heuristiken erkennen. „Ist valide in UTF-8, also wird es wohl UTF-8 sein“ ist ein häufiger Algorithmus. Wenn jetzt ein Zeichen kein valides UTF-8 ist, dann gilt die Prämisse halt nicht mehr und der Algorithmus kommt zu einem anderen Ergebnis.

Und hätte dann auch nicht erwartet, dass alles falsch dargestellt wird. Selbst wenn ich dem Editor dann sage ist UTF8 ist das nicht reparabel.

Wenn du den Editor manuell auf UTF-8 stellst, sollte nur die letzte Zeile unleserlich sein; der Rest der Datei sollte korrekt dargestellt werden. Zumindest würde ich das so implementieren.

Freundliche Grüße,
Christian Kruse