Hi!
Wenn in der Datenquelle (1) die Zeichen utf8-codiert sind und der Browser (3) per HTTP-Header angwiesen wurde, dieselbe Codierung zu verwenden, werden die auch richtig dargestellt.
Du übergehst, dass zwischen Datenquelle und Browser in der Regel noch ein Programm sitz und damit mindestens drei Systeme und zwei Schnittstellen insgesamt existieren. Zwischen alle Beteiligten muss die zu verwendende Kodierung klar sein, wenn sie die Daten nicht nur durchreichen sondern auch interpretieren und verarbeiten sollen.
Die Übertragung (2) hat hinsichtlich Character-Encodung transparent zu sein, wenn das nicht der Fall ist, ändere das.
Was auch immer du mit "die Übertragung" konkret meinst, es ist nicht zwingend eine Transparenz nötig. Man braucht sie, wenn ein System nur Durchreicher und kein Verarbeiter ist. Ein Verarbeiter muss die Kodierung kennen, damit er die Daten definiert interpretieren kann. Und sei es auch nur, dass die Art, wie eine Kodierungsinformation übergeben wird, zwischen der Quelle und dem Ziel umformuliert werden muss. Eine Datenbank spricht nicht in HTTP-Headern. Der Webserver (oder ein darauf laufendes Programm) muss jedoch einen solchen dem Browser übergeben, weswegen er das Wissen um die Kodierung benötigt.
Lo!