Es ist nicht nur Charset und Kollation (letzteres ist nur für die alphabetische Sortierung zuständig, hier also nicht kriegsentscheidend), es ist auch der Charset der Datenbankverbindung, mit der du von einem Programm/Skript Daten lesen und schreiben lässt. Dafür gibt es in PHP spezielle Funktionen. In der MySQLi-Bibliothek ist das mysqli_set_charset beziehungsweise ihr OO-Pendant. Damit kannst du dann auch ISO-8859-1(5)-codierte Daten auslesen und von der DB-Engine automatisch in UTF-8 ausgeben lassen, wenn du genau diesen Charset für die Verbindung festlegst.
Okay, das klingt interessant. Ich arbeite mir PDO, da habe ich allerdings keine entsprechende Funktion gefunden. Ist das nicht dasselbe wie ich im dsn übergebe?
Dazu gehört aber auch, dass Skripte im selben Charset gespeichert und in diesem Charset vom Webserver ausgeliefert werden. Ebenfalls gehört dazu, dass der Webserver diesen Charset im Header ansagt, damit der Browser weiß, welchen Charset er bei der Ausgabe zu benutzen hat.
Woher weiß ich, wie Skripte auf meinem PC oder auf dem Webserver gespeichert werden? Und wie kann ich beeinflussen, was der Webserver im Header ansagt?
Viele Grüße Daniel