hallo Vinzenz,
Bitte beachte, dass bei dynamisch zusammengebauten Ressourcen die Kodierung an den verschiedensten Stellen fehlerhaft sein kann.
Das ist der entscheidende Hinweis. Ich habs eben mal kurz durchgespielt: der Apache (ähm, meiner) liefert korrekt UTF-8, aber die Ausgabe eines testweise erstellten PHP-Scripts erfolgt in ANSI. Und das führt im Firefox 3 zu exakt den "Fehlern", die der OP nennt.
Grüße aus Berlin
Christoph S.