Decoder un fichier csv vers mon code C# : avoir les accents
Bonjour,
(J'utilise excel 2007 pour générer les fichiers csv)
Je dois développer une application en C# qui doit importer des fichier (format csv => séparateur = ";") puis les lire.
J'importe mon fichier grâce à un composant "FileUpload", et j'ai un autre bouton pour effectuer le traitement de lecture du fichier importé.
Voilà ce que je fais pour lire le fichier.
J'utilise la fonction ReadAllLines avec LINQ :
Code:
1 2 3 4 5 6 7 8 9 10
| var query = from line in File.ReadAllLines(Server.MapPath("~/UploadedFiles/UploadFolderTest/") + Path.GetFileName(Fileupload1.FileName))
let values = line.Split(';')
let nbColumns = values.Count()
select new
{
column0= values.ElementAt(0),
column1= nbColumns > 1 ? values.ElementAt(1) : string.Empty,
}; |
Mon problème est que je n'arrive pas à récupérer correctement les accents de mes chaînes de caractères, dans mon code C#.
A la place des accents, j'ai des symboles bizarres (losange noir avec point d'interrogation)
C'est probablement dû à un système d'encodage/décodage.
1) Comment connaître quel est l'encodage de mon fichier csv ? (ASCII, Unicode, UTF- ..) ?
2) Dans mon cas, que dois-je faire pour arriver à récupérer mes accents dans mon code C#.
Merci de votre aide.