I have a CSV file in ANSI encoding like this:
id,name,währung
1,one,EUR
2,two,USD
I want to parse it with CsvHelper but I always get something like: Header with name 'währung'[0] was not found. Headers: 'id', 'name', 'w�hrung'
.
Here is how I tried it:
using System.Globalization;
using System.Text;
using CsvHelper;
using CsvHelper.Configuration;
using CsvHelper.Configuration.Attributes;
var csvConfiguration = new CsvConfiguration(CultureInfo.InvariantCulture)
{
Encoding = Encoding.Default
};
using var reader = new StreamReader("AnsiWithUmlaut.csv", Encoding.Default);
using var csv = new CsvReader(reader, csvConfiguration);
var records = csv.GetRecords<CsvDto>();
Console.ReadLine();
internal class CsvDto
{
[Name("id")] public string Id { get; set; }
[Name("name")] public string Name { get; set; }
[Name("währung")] public string Currency { get; set; }
}
Reproduction repo: https://github.com/matthiaslischka/AnsiUmlautCsvHelper
THX and BR Matthias