dedlfix: You have used an illegal character in your text.

Beitrag lesen

Tach!

beim Ausgeben kommt bei machen Texten der Fehler
You have used an illegal character in your text.

Wenn ich nach dieser Meldug suche, dann ist nicht PHP sondern der W3C-Validator der Ausgabende. Dieser erklärt dazu, dass du irgendwelche Zeichen aus einem undefinierten Bereich im Dokument stehen hast. Das wären zum Beispiel Zeichen, die Win-1252 an die Positionen 0x80..0x9F legt. Die sind in anderen Kodierungen, insbesondere ISO-8859-1 und UTF-8, ungültig.

ich gebe die Daten mit htmlentities($string) aus
kann mir jemand helfen, wie ich diesen Fehler vermeide!

htmlentities() ist normalerweise überflüssig, und üblicherweise ein Zeichen dafür, dass man die Grundlagen der Zeichenkodierung nicht kennt und/oder die verwendete Zeichenkodierungen nicht explizit angibt. Ansonsten reicht nämlich htmlspecialchars() für die vier/fünf HTML-eigenen Zeichen.

Außerdem ist htmlentities() auch kein magisches Werkzeug, das aus jeder Irgendwie-Kodierung ein gültiges Ergebnis zaubern kann.

Ich habe in meiner Datenbank MYSQL (wirklich) sehr viele Texte,

Welche Kodierungsangabe haben die einzelenen Varchar-Felder? Welche Kodierung handelst du mit dem MySQL_Server aus? Welche Kodierungsangabe steht in den HTML-Dokumenten (oder im HTTP-Header)?

dedlfix.