C# - CSV - Ecriture dans un fichier CSV accents encodage
cs_loic72
Messages postés18Date d'inscriptionvendredi 4 novembre 2005StatutMembreDernière intervention 1 août 2007
-
1 août 2007 à 17:16
stever50
Messages postés8Date d'inscriptionjeudi 8 janvier 2009StatutMembreDernière intervention11 novembre 2010
-
27 oct. 2010 à 15:27
Bonjour à tous,
j'essaie d'écrire dans un fichier .CSV des données extraires d'un fichier XML, mais bon ça a priori ça on s'en fiche... :)
Ma question plus générale est :
comment écrire une chaîne de caractères avec des accents (é,&,à,è,ç etc.) dans un fichier .csv, qui sera ouvert par excel?
Que j'ouvre mon fichier dans mon code de cette manière :
StreamWriter Fichier = File.CreateText(cheminRepertoire + nomFichierSQL);
ou comme ça :
FileStream fluxSortie = new FileStream(cheminRepertoire + nomFichierSQL, FileMode.Create, FileAccess.Write);
StreamWriter Fichier = new StreamWriter(fluxSortie, System.Text.Encoding.ASCII);
alexandre7g
Messages postés11Date d'inscriptionmercredi 14 mars 2007StatutMembreDernière intervention20 novembre 2007 20 nov. 2007 à 11:18
Bjr,
Je dois écrire un fichier CSV.
J'ai bien trouvé "System.Text.Encoding.GetEncoding("iso-8859-1") " mais je n'arrive pas à l'appliquer a mon fichier! propriété Encoding en lecture seule...des idées?
Je crée le fichier comme suit:
StreamWriter
writer = File
.CreateText(filename); // pas moyen d'y mettre l'encoding!!!
winny68
Messages postés99Date d'inscriptionvendredi 25 avril 2003StatutMembreDernière intervention14 février 20111 5 déc. 2007 à 11:48
Salut loic72,
le plus simple est d'écrire en unicode. Pourquoi unicode ?
Car l'ASCII (ou ANSI) ne reconnait pas les accents.
Pour cela, tu de remplacer :
StreamWriter Fichier = new StreamWriter(fluxSortie, System.Text.Encoding.ASCII);
Par :
StreamWriter Fichier = new StreamWriter(fluxSortie, System.Text.Encoding.Unicode);
Ou :
StreamWriter Fichier = new StreamWriter(fluxSortie, System.Text.UnicodeEncoding.Unicode);
Voila.
Deux choses sont infinies : l'univers et la bêtise humaine.
Mais en ce qui concerne l'univers, je n'en ai pas encore acquis la cetitude absolue.
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 2 août 2007 à 12:14
tu dois utiliser System.Text.Encoding.GetEncoding("iso-8859-1") pour l'encodage, ou encore System.Text.Encoding.GetEncoding("iso-8859-15") (le deuxieme ajoute uniquement le symbole "?", en général si on n'utilise cet encodage que si nécessaire)
Vous n’avez pas trouvé la réponse que vous recherchez ?
DrChal
Messages postés28Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention30 mars 2012 27 oct. 2010 à 12:23
Salut,
J'ai le même problème. J'ouvre un fichier CSV venant d'excel.
J'essaie de le lire via :
string[] fichier = File.ReadAllLines(csvFileInfo.FullName, System.Text.Encoding.GetEncoding("iso-8859-15"));//("iso-8859-1"));
J'ai essayé tous les encodages. (Je crois)
Et j'ai toujours le problème d'interprétation des accents.
le é devient un ?
etc..