Ich habe jetzt nochmal alles nachgeprüft. Es ist wirklich alles auf utf-8 gesetzt. Der Server header, die website, die Datenbankverbindung und die Datenbankfelder selbst.
Ich bin da jetzt ziemlich mit meinem Latein am Ende.
Vor allem finde ich es seltsam, dass alte Einträge, die ja lange Zeit korrekt angezeigt wurden, plötzlich nur noch als ??? ausgegeben werden.