Naja, so einfach ist das nicht.
Du musst dich konsequent (okay, du kannst das auch gerne Seite für Seite einzeln entscheiden, wenn du weißt was du tust..) für deine ganze Anwendung entscheiden, ob du UTF-8 oder einen gängigen ISO ausgibst. Alle Ausgabestrings müssen dann entsprechend umgewandelt werden. Wenn du UTF-8 verwendest, musst du keine Umlaute und Sonderzeichen (außer den 5 XML-Zeichen) umwandeln, wenn du ISO nimmst, musst du sie umwandeln. Benutzt du eine Mischung (DB in UTF-8, Ausgabe in ISO), musst du auf jeden Fall jede Eingabe prüfen und wahrscheinlich auch jede Ausgabe von UTF-8 in ISO umwandeln.
Ein häufiges Problem der "Sonderzeichen" ist, wenn Browser und Webserver verschiedener Meinung über den Inhalt sind. Das läßt sich mit einem Header ändern.. der "Content-Type" (php: header()) zeichnet das Dokument wie XML oder HTML aus.. die Angabe in HTML (meta) oder XML (encoding) sind eigentlich irrelevant..
Bei heutigen (neuen) Anwendungen wird man in der Regel mit UTF-8 arbeiten (Datenbank, HTML, XML, CSS, JS), aber das PHP wird aus Kompatibilitätsgründen häufig in ISO verfasst.