header('Content-Type: text/html; charset=UTF-8');
unnötig.
charset im meta reicht. Wenn du deine Dateien dann noch schön codierst wie du es sagst, dann passt alles.
Wenn dein Inhalt jedoch aus einer Datenbank kommt sind das andere mögliche Fehlerquellen.
und da ich sicherlich wieder irgendein Fachwort in dem Zusammenhang benutzt habe, wird sich Gunnar auch gleich nochmal melden :D.
Gruß
wartender
T-Rex