Det är inte märkligt, det beror på hur du sparar filen.
Tänk; en fil består av ett gäng ettor och nollor. Dessa grupperas vanligtvis i bytes, med åtta bitar per byte.
UTF-8 är ett så kallat multibyte-format. Detta innebär att vissa tecken (t ex de svenska) tar upp mer än en byte. I ISO-8859-1 tar varje tecken upp precis en byte, men teckenomfånget – antal tecken som kan representeras – är begränsat till samma antal bitar.
Ditt dokuments första rad säger att innehållet i filen är i en viss encoding. När den är satt till ISO-8859-1 och läses av ett externt program som respekterar encoding-attributet, läses varje byte i dokumentet till ett tecken, men du har sparat filen i ett multibyte-format. Troligtvis är UTF-8 standard i den texteditor du använder.
Ett tydligt bevis på detta är tecknet "é", som inte ingår i den normala teckenuppsättningen. När filen läses som ISO-8859-1 finns det två (eller flera) bytes i "é"-s position, där den ena byten blir "Ã" och den andra "©".
När du ändrade encoding till UTF-8 säger du att ett tecken kan ta upp mer än en byte, vilket stämmer överens med hur du har sparat filen. Det är därför det började fungera.
Encoding leder ofta till förvirring, men det finns en enkel tumregel: Om du inte har en kravspec som säger att text ska ta så lite utrymme som möjligt så använd UTF-8.