Om åäö blir konstiga tecken har du problem med teckenkodningen någonstans.
Det kan vara till exempel vara
- i din editor, där du fick filen ifrån
- i ditt program där du läser in filen
- i ditt program där du skriver ut resultatet
- i din terminal där du ser resultatet
- i din editor där du titar på resultatet
Liten historielektion angående relevanta teckenkondingar i detta fall:
ASCII (American Standard Code for Information Interchange) togs fram på 60-talet och är en 7-bitars kod med totalt 128 värden som räcker till att beskriva A-Z, a-z, 0-9, en del specialtecken och styrkoder.
Det finns inte plats för å, ä och ö.
ISO-8859-1 är en 8-bitars kod basserad på ASCII, men utökad så att det finns plats för å (0xE5), ä, (0xE4), ö (0xF6)
Windows-1252 är den teckenkodning som egentligen avses för text märkt som ISO-8859-1.
UTF-8 är en variabel 8-bitars-kodning på 1-4 bytes av Unicode (21-bitar), där de första 7 bitarna är samma som i ASCII. å = 0xC3 0xA5, ä= 0xC3 0xa4, ö= 0xC3 0xB6.
UCS-2 är en 16-bitars-kodning av Unicode, men kan inte beskriva alla tecken.
UTF-16 är en variabel 16-bitars-kodning av Unicode, som kan beskriva alla tecken.
UTF-32 är en 32-bitas-kodning av Unicode som kan beskriva alla tecken. Används ofta internt i miljöer för "wide strings".
Så blir det rapakalja när du skriver ut ett å har du fel kodning någonstans. Numera är det vanligt att spara och överföra text i UTF-8, men hantera det internt i programmet som UTF-32 (en del miljöer har fortfarande bara UCS-2)