Nein, gerade darauf kann man sich verlassen. MySQL, PHP, HTTP (ohnehin) und der Webbrowser können alle das standardisierte Unicode. Es ist nur eine Frage der Schriftarten, ob man das korrekte dargestellt bekommt.
Diese Hackstückelei, sich auf die ISO-Zeichensätze zu verlassen, sollte endlich aus der Welt geschafft werden. Stattdessen soll/kann/muss dann Unicode anständig gepflegt und vor allem von allen beteiligten unterstützt werden. Das dies der Fall ist, kann man sehen, wenn man die (noch notwendigen) Schritte unternimmt, durch die Bank weg UTF-8 anzufordern. Genau das wurde hier gemacht.
- Datenbank-Tabellen können UTF-8-Zeichen aufnehmen (elementar); Viele Systeme machen das ohnehin von haus-aus, manche muss man dazu überreden.
- Webserver verwendet PHP (SQL-Client) um dem Datenbank-Server (MySQL) mitzuteilen, das die Verbindung gefälligst in UTF-8 abzulaufen hat, egal was server-seitig oder client-seitig in der Config steht (oder auch nicht steht und deswegen auf Default-Werte [ISO!] zurück fällt)
- Webserver teilt seinem Client (Browser) mit, das die transportierten Daten in UTF-8 gesendet werden (mittels Header)
- Auf der Applikationsschicht wird zusätzlich noch mitgeteilt (auch wenn bei manchen nicht mehr notwendig wegen Punkt 3), das der Zeichensatz in der Sitzung (pro HTML-Seite) UTF-8 ist.
Du siehst, das alle logisch nachvollziehbaren Schritte unternommen worden sind, gerade deswegen, weil viele Konfigurationen das überhaupt nicht vorsehen und mit Standard-Werten gearbeitet wird, um fest zu vereinbaren, wie was gesendet und interpretiert werden soll.
Wenn wir irgendwann dabei sind, das nur noch Unicode verwendet wird, braucht man sich über solche Dinge keine Gedanken mehr machen. Bis dahin muss man als Entwickler einfach daran denken, das es so ist, wie es ist. Oder wir verpflichten einfach alle Webhoster dazu, die Einstellungen auf Unicode vorzunehmen, dann erledigt sich das auch von selbst.
Ich persönlich finde es gut, wie es ist, so muss man als Entwickler diese Hürde einfach nehmen, sich mit Zeichensätzen auseinander zu setzen. Es sorgt für ein bisschen Hirn-Hygiene und ist einfach ein zusätzlicher Baustein des großen Ganzen.
Edit:
da ich immer Funktionen eingesetzt habe die vermieden haben das sowas dierekt in einer Datenbank steht *wie man es auch eigentlich aus Sicherheitsgründen machen sollte ... gerade bei so einem Zeichen welches von MySQL unter Umständen auch interpretiert werden könnte*.
Und diese Funktionen, die du da verwendest könnten unter Umständen ohnehin unnötig, und damit evtl. sogar gefährlich sein. Zusätzlicher Code bedeutet immer auch zusätzliche Möglichkeiten, irgendwas falsch zu machen bzw. Fehler zuzulassen. Das es bestimmte Zeichen gibt, die syntaktisch Sicherheitslücken aufreisen können, ist klar, sollte aber durch entsprechende Schritte (Best-Practices) nicht zu tragen kommen. Echte Männer verwenden ohnehin Prepared-Statements, da ist man ohnehin weniger mit solchen Dingen konfrontiert