Klar. Weil deine Header-Daten sagen "ich bin UTF-8" und die Daten unter http://www.sr....html offensichtlich nicht UTF-8 sind.
Aber im header der sr-online-Seite wird das Ganze auch als utf8 deklariert. Oder ist der Quelltext da nicht zuverlässig als Angabe.
Was dedlfix dir sagen wollte ist, dass du irgendwo in deinem Skript zwischen dem Einlesen der Daten (was du aktuell mit file_get_contents tust) und der Ausgabe eine (korrekte) Konvertierung vornehmen musst. Dazu brauchst du zwei Informationen: das Eingabeformat (das musst du rausbekommen) und das Ausgabeformat (hier UTF-8).
ich hatte doch ursprünglich eine Ausgabe mit utf8-decode drin, die sorgt doch auch dafür, dass alle Umlaute korrekt dargestellt werden, nur halt die vermaledeiten Anführungsstriche nicht.
@Edit: Du könntest die Inhalte beispielsweise über http_get anfordern oder die Klassen HttpRequest/HttpMessage nutzen.
werde mich mal mit http_get usw befassen, hoffe, dass das dann auch nützt. Danke für die Hilfe!