IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Accents + Fichier Texte :-(


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 25
    Par défaut Accents + Fichier Texte :-(
    Bonsoir,
    J'ai un problème dans la lecture/écriture de fichier texte.

    Dans mon fichier en entrée j'ai des caractères accentués
    J'ai notamment une chaine comme ceci "* rép *".
    Si je fais un TYPE en ligne de commande, je vois "* rùp *" (l'accent sur le u est même inversé).

    A la lecture je faisais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    StreamReader fSource1 = File.OpenText(sFileName);
    input = fSource1.ReadLine();
    et à l'écriture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    FileInfo fCible = new FileInfo(sfCible);
    StreamWriter fCibleTxt = fCible.CreateText();
    fCibleTxt.WriteLine(input);
    J'ai cru comprendre qu'il fallait préciser l'encodage à la lecture comme à l'écriture mais je n'arrive pas à trouver une solution qui fonctionne...
    Déjà rien qu'à la lecture mes accents sont remplacés...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    StreamReader fSource1 = new StreamReader(sFileName,System.Text.Encoding.Default);
    fSource1 = File.OpenText(sFileName);
    input = fSource1.ReadLine();
    Je suis débutant en C# et je suis un peu perdu.
    Quelqu'un aurait-il une idée ?
    Merci d'avance,
    BigFellow

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 201
    Par défaut
    essaye d'autre encoding que default jusqu'à trouver le bon
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    +1, Essaye celui_ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... new StreamReader(sFileName,Encoding.GetEncoding("iso-8859-1"));

  4. #4
    Membre averti
    Inscrit en
    Février 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 25
    Par défaut J'ai déjà essayé...
    Merci pour vos réponses mais j'ai déjà fait ces tests : toutes les possibilités offertes par le Encoding. y compris Encoding.GetEncoding("iso-8859-1") et cela ne change strictement rien au résultat.
    Cordialement,
    BigFellow

  5. #5
    Membre chevronné Avatar de _PascalC_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 220
    Par défaut
    salut, il faut que l'encodage utilisé à la lecture soit le même que celui utilisé au moment de l'écriture. Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    string filename = "c:\\test.txt";
    Encoding encoding = Encoding.UTF8;
     
    StreamWriter sw = new StreamWriter(filename, false, encoding);
    sw.WriteLine("äïùö");
    sw.Dispose();
     
    StreamReader sr = new StreamReader(filename, encoding);
    string s = sr.ReadLine(); //s contient bien äïùö 
    sr.Dispose();

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 201
    Par défaut
    ca je pense qu'il s'en doute ^^ mais ca doit pas être lui qui a créé le fichier ...


    il faudrait déjà connaitre le codage utilisé dans le fichier
    essaye de l'ouvrir avec textpad, il t'indiquera le codage utilisé (c'est un très bon logiciel gratuit pour manipuler des fichiers texte) (faire affichage/propriétés du document)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Accents dans fichier texte vers Windows
    Par Bouillon dans le forum Langage
    Réponses: 6
    Dernier message: 03/01/2009, 13h01
  2. généré un fichier texte qui prend en ecompte les accents
    Par Ohemeg dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 21/02/2008, 09h43
  3. Fichier texte et accents
    Par jaybriss dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 27/07/2006, 19h39
  4. Gestion accent fichier texte dynamique
    Par delavega dans le forum Flash
    Réponses: 2
    Dernier message: 29/06/2006, 17h43
  5. Fichiers texte sans accents
    Par mika dans le forum Langage
    Réponses: 5
    Dernier message: 03/11/2004, 16h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo