ja klar, so sieht UTF-8 aus, wenn man es dem Browser (Editor, sonstiger Software) beispielsweise als ISO-8859-x verkauft. Natürlich muss dein Teil der Verarbeitung dann auch durchgängig UTF-8 verwenden.
Wenn du das nicht willst, musst du umcodieren, etwa wie du es schon getan hast - aber dann verlierst du eben Informationen. Nämlich genau die Zeichen, die sich in der Ziel-Codierung nicht darstellen lassen.
Wird meine Seite nicht in UTF8 ausgeliefert, wenn im Header steht?:
header("Content-Type: text/html; charset=UTF-8");