Hmm... nu kommer detta att låta nästan filosofiskt, men text "är" inte en viss kodning. Det är bara en sekvens av ettor och nollor. Genom att ange hur sekvensen ska tolkas får man ett visst utfall.
Det är precis därför man i XML har (kan ha) information om kodningen, så att ett program som läser det ska förstå hur resten av bytesekvensen ska tolkas.
Den kodningen är bara meningsfull om man har en XML-tolk, om man läser filen som text så "förstår" AS inte vad det är – det är upp till dig att ange det, så att filen läser på rätt sätt.
Normalt sett när AppleScript läser en textfil utgår den från att bytesekvensen ska tolkas som MacRoman-kodad text, och om då texten inte är det (dvs. om bytesekvensen inte stämmer med regelverket för utf8-kodad text) kommer det att bli fel.
För att ta en analogi, så är det som när du låter en engelsk text to speech läsa svensk text.
Så, mao, om man vet att man har en utf8-kodad textfil så måste man tala om för AS att den ska läsas som just utf8