ANSI UTF-8 convertálás programból

ANSI UTF-8 convertálás programból
2015-02-18T15:38:16+01:00
2015-02-18T20:23:22+01:00
2022-08-09T10:35:30+02:00
kort
Sziasztok!

Segítsetek légy szíves!

Van egy txt vagy CSV fájlom ANSI kódolással lementve. Ha beolvasom a programba, az ékezetes karakterek hibásan jelennek meg. Ha kiírom fájlba, oda is hibásan íródik ki.

Viszont, ha a fájlt beolvasás előtt elmentem másként(pl: Jegyzettömb-> mentés másként->Kódolás:UTF-8), akkor minden rendben. Kérdésem az lenne, hogyan tudnám már beolvasáskor helyesen megjeleníteni a karaktereket?
Itt a beolvasás:

foreach (string line in File.ReadAllLines(Application.StartupPath + @"\DAT\Adatok.csv")) { string[] data = line.Split(';'); CSVAdat dadat = new CSVAdat(); dadat.Felveve = data[0]; dadat.Datum = Convert.ToDateTime(data[1]); dadat.Riasztasos = data[2]; dadat.Adat = data[3]; dadat.tipus = data[4]; dadat.kat = data[5]; dadat.forma = data[6]; dadat.Bejelento = (data[7]); dadat.Telepules = data[8]; dadat.Utca = data[9]; dadat.Hazszam = data[10]; dadat.Cim_kieg = data[11]; dadat.Fogy_szam = data[12]; dadat.telefon = data[13]; dadat.Eszleles = data[14]; dadat.Kezdet = data[15]; dadat.Vege = data[16]; dadat.Megjegyzes = data[17]; dadat.ido = data[18]; dadat.ok = data[19]; dadat.Stronozta = data[20]; DatFile.Add(dadat); }
Kiírni pedig így szoktam:

string munka = Application.StartupPath + @"\DAT\Munka.CSV"; //CSV fájl kiírása StreamWriter mn = new StreamWriter(munka, false, Encoding.UTF8); mn.Wreiteline(...) mn.close();
Ötletek?
Mutasd a teljes hozzászólást!
Helló!

Ha magyar ékezeteket tartalmazó file-t olvasol, az feltehetően 1250-es kódlapot használ. Ezt a kódolást kell megadnod olvasáskor és íráskor:

Encoding encoding = Encoding.GetEncoding(1250); string[] content = File.ReadAllLines("ekezet.txt", encoding); // alapértelmezetten UTF-8 kódolás File.WriteAllLines("ekezet2.txt", content); // 1250-es kódlap File.WriteAllLines("ekezet2.txt", content, encoding);
Mutasd a teljes hozzászólást!

abcd