Tach!
Wie das HTML beginnt, ist weniger interessant, wichtiger ist die Kodierungsangabe im Header. Die Angabe im HTTP-Header sticht zwar, wenn sie vorhanden ist, aber das ist sie nicht immer. Beim lokalen Speichern ist sie zum Beispiel nicht mehr da. Das ist zwar für dein aktuelles Problem nicht relevant, aber wenn du schonmal beim Korrigieren bist ...
Joa, mal sehen... eigentlich ginge ich davon aus, dass der Browser die Datei dann auch im entsprechenden Zeichensatz speichert.
Der Browser speichert zwar die Datei auf der Platte, so wie er sie bekommen hat. Aber beim nächsten Lesen von der Platte, ist kein HTTP-Header mehr vorhanden. Wenn dann keine Angabe im HTML-Head steht, kann der Lesende nur noch raten.
Aber man kann es rein schreiben, sicherlich (ich mag das meta-Element nur irgendwie nicht).
Es gibt keine andere Möglichkeit, die Kodierung des Dateiinhalts zu kennzeichnen. Da muss dein Geschmack der Praktikabilität wegen zurückstecken.
Und Regel 2? Wird immer wieder gern nicht beachtet. Woher soll MySQL wissen, was du ihm da übergibst?
Nun es hätte durchaus sein können, dass der Parser das von selbst tut oder dass SQL davon ausgeht, dass es den Zeichensatz kriegt, den ich dort eingestellt habe.
Na klar, aber wo hast du das denn eingestellt? Die Kodierungsangabe eines Feldes ist irrelevant. Jedes Feld kann seine eigene Angabe haben. MySQL nimmt für die Daten, die über eine Verbindung zum Client kommen, einen separaten Konfigurationswert. Und wenn du jedes Datum extra kodieren willst, kannst du sogar jeden String-Wert einzeln kennzeichnen (braucht man normalerweise nicht).
Da fehlt noch die Kontextwechselbeachtung, also ein htmlspecialchars().
Stimmt, bei manchen Feldern muss ich das machen, aber in den meisten kommt kein <>&" vor.
Es sollte egal sein, ob etwas aktuell vorkommt oder nicht. Mach es einfach, das kostet so gut wie nichts und spart dir in der Zukunft eine Neubetrachtung, wenn sich irgendwas ändert. Oder bist du bei jeder Änderung nach geraumer Zeit so konzentriert und immer noch wissend, welche genauen Auswirkungen welches Drehen an einem bestimmten Rädchen hat?
dedlfix.