Der Grund für die Raute mit Fragezeichen ist immer ein als ISO 8859-1 (oder ISO 8859-15) kodiertes Dokument als UTF-8 interpretiert wird. Im umgekehrten Fall würde ein ä als ä dargestellt. Ein UTF-8 kodiertes Zeichen wird im ISO 8859 als zwei Zeichen dargestellt.
Die Abweichung kann zwischen Datenbank Kollation und HTTP Header oder Mime-Type der Datei sein, oder im Browser ist ein falscher Zeichensatz eingestellt.
witzigerweise waren einen halben Tag nach dem Gespräch die Umlaute wieder da.
Das könnte ein Apache Neustart schon "reparieren", wenn vorher irgend ein Update gelaufen ist.
Man kann nur alle Einstellungen kontrollieren, angefangen von der Datenbank, den Datenbank Tabellen, den HTTP Header auslesen und auch den Browser nicht vergessen. Irgendwo ist eben UTF-8 als Einstellung vorhanden.
Um den HTTP Header abzufragen gibt es Online Tools.
grüße