Tom wrote:
> Jeg forsøger at tage en ISO8859-1 streng og lave om til UTF-8.
> Resultatet kan ses nedenfor [1] og koden [2] ligeså.
>
> Hvad pokker gør jeg galt?
Du har sikkert ikke læst denne glimrende forklaring på UTF-8 magi'en i
Perl :)
http://www.ahinea.com/en/tech/perl-unicode-struggle.html
Perl holder styr på om hver enkelt streng er chars (UTF-8) eller bytes,
og den holder også styr på hvad hvert enkelt filehandle forventer af
tegnsæt (via PerlIO layers).
Hvis du skriver en UTF-8 streng ud til et binært filehandle bliver det
konverteret. På samme måde, hvis du har en UTF-8 streng som Perl ikke
ved er UTF-8 og du skriver den ud til et binært filehandle (som f.eks.
STDOUT default), så bliver det IKKE konverteret - hvilket i en alm.
UTF_8 terminal ser helt rigtigt ud.
.... det er det bare ikke :) - for Perl aner ikke hvad der er sket.
Hvis du vil være sikker på hvad Perl ved om dine strenge, så skal
Data::Dumper vise strengen "æ" som "\x{e6}";
btw: Dit eksempel giver ikke mening før vi ved hvilket tegnsæt din
editor gemmer filen i.