Bonjour,
 
J'ai un fichier .csv dans lequel il y a des symboles € (correspondant à la valeur décimale 128 après test).
Je voudrais simplement remplacer ce symbole par la chaîne de caractères "€" pour une exploitation ultérieure du .csv.
 
J'ai donc réalisé ce code
 
Code :
 - //Fait un tableau de lignes avec le fichier csv
 - string[] tabSource = File.ReadAllLines(cheminSource, System.Text.Encoding.GetEncoding("iso-8859-15" ));
 - //Pour chaque ligne, je remplace certains caractères spéciaux
 - foreach (string line in tabSource)
 -             {
 -                
 -                     string euro = (IntToChar(128)).ToString();
 -                    
 -                     line.Replace(">", ">" );
 -                     line.Replace("<", "<" );
 -                     line.Replace(euro, "€" );
 -                     // CE TEST RETOURNE BIEN LA VALEUR 128 POUR LE SYMBOLE €
 -                     //foreach (char caractere in line)
 -                     //    if (caractere == IntToChar(128))
 -                     //    {       
 -                     //        Console.WriteLine("EURO OK !!!" );
 -                     //        Console.WriteLine(CharToInt(caractere));
 -                     //        Console.ReadKey();
 -                     //    }
 -                     //    else { Console.WriteLine("failed" ); }
 -   	}
 
  | 
 
Le remplacement des caractères '>' et '<' se déroule sans problème.
Le code line.Replace("€", "€" ); ne trouve pas le symbole €, d'où la nécessité de passer par la valeur décimale.
Malgré tout, le code line.Replace(euro, "€" ); ne fonctionne pas plus alors que le test fonctionne...
 
Comment faire ?  
 
Message édité par ltik le 23-04-2012 à 18:08:22