Ich erklär's mal anders: Das Encoding gibt an, welche Bitfolge für welches Zeichen steht. Diese Bitfolgen sind bei ISO-8859-1 (aka "Latin-1") und Unicode nur für die ersten 127 Zeichen identisch; diese Zeichen entsprechen ASCII. Umlaute sind jeweils ganz woanders. Das kleine Ä ('ä') hat beispielsweise in Latin-1 die Bitfolge E4*, in UTF-8 hingegen C3 A4*. Der Latin-1-Code ergibt in UTF-8 keinen Sinn (daher die Fehler) und umgekehrt steht der UTF-8-Code in Latin-1 für zwei(!) völlig andere Zeichen ("ä", um genau zu sein).

Genau deshalb muß man das Encoding angeben - es gibt dutzende Möglichkeiten, Text binär zu kodieren und ohne separate Angabe kann man nicht bestimmen, welche vorliegt. Du erzählst jetzt dem Validator, du hättest deine Seite in UTF-8 vorliegen, wenn sie das in Wirklichkeit gar nicht tut. Deshalb beschwert er sich.

Die Lösung ist, daß du deinem Texteditor sagst, er soll die Datei nicht in Latin-1 sondern in UTF-8 speichern. Wie genau das geht hängt von deinem Editor ab, aber meistens ist im "Speichern"-Dialog eine Combobox zur Auswahl des Encodings.


* hexadezimale Schreibweise zur besseren Übersichtlichkeit