Hårek Skrevet 17. september 2013 Del Skrevet 17. september 2013 Har en tekstfil som er kodet i ANSI, dvs extended 8-bit ASCII, ISO 8859-1. Norske karakterer vises riktig i Notepad etc. Prøvde først StreamReader, men det ble helt feil. Denne fungerer nesten, men Ø blir til O: string[] stringArr = File.ReadAllLines(_fileName, Encoding.GetEncoding(28591)); foreach (var s in stringArr) { Console.WriteLine(s); } Resultat: ÆOÅ æoå Noen tips? Lenke til kommentar
GeirGrusom Skrevet 17. september 2013 Del Skrevet 17. september 2013 (endret) private static readonly Latin1 = System.Text.Encoding.GetEncoding("iso-8859-1"); private void Foo() { using(var sr = new StreamReader(theStream, Latin1)) { // Foo } // eller enklere hvis du skal lese hele fila: var burdeFunkeMedÆøå = System.IO.File.ReadAllText("foo.txt", Latin1); } } Men med mindre du har et rart oppsett så burde dette fungert av seg selv da System.Text.Encoding.Default skal være ISO 8859-1. Endret 17. september 2013 av GeirGrusom Lenke til kommentar
Hårek Skrevet 17. september 2013 Forfatter Del Skrevet 17. september 2013 Da virker StreamReader. Jeg hadde hentet min fra File.OpenText(), det var der den feilen lå. Men begge gir samme resultat. Ø blir O. Så det er tydeligvis ikke Encoding som er problemet. Får prøve med en annen PC i morgen. PS: du glemte visst en "Encoding" her: "private static readonly Latin1 = " Lenke til kommentar
Hårek Skrevet 17. september 2013 Forfatter Del Skrevet 17. september 2013 Har stort sett funnet ut av det. Problemet er konsollet i Visual Studio. Stringen er korrekt, men når jeg skriver den ut på konsollet blir Ø 'oversatt' til O. Skriver jeg ut til en fil så kommer Ø med. Så det var bare debuggingen på konsollet som lurte meg. En annen PC ga samme resultat. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå