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

C# Discussion :

Encodage caractère accentué impossible


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 63
    Points : 44
    Points
    44
    Par défaut Encodage caractère accentué impossible
    Bonjour,

    Dans le cadre du développement de mon application, j'essai de lire un fichier XML reçu d'un AS400, et de le découper pour réécrire plusieurs petit fichier au format .SPL mais j'ai un problème d'encodage sur mes caractère dans les fichiers à la fin, les caractère "é" apparaissent tous comme ça "?"

    Pourtant j'ai bien essayé plusieurs encodage possible lors de la création des fichiers de destination mais rien n'a résolu mon problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sr = new StreamWriter(@"E:\Copie spool\tempo" + test + ".SPL", false, Encoding.GetEncoding("iso-8859-1"));
    Voici mon code actuel mais qui ne fonctionne pas, si quelqu'un à une solution à proposer.

  2. #2
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Points : 57
    Points
    57
    Par défaut
    Je t'avoue que je te réponds que de mémoire, as tu essayé l'une de ces deux propositions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                    sr = new StreamWriter(@"E:\Copie spool\tempo" + test + ".SPL", false, Encoding.Default);
    OU
                    sr = new StreamWriter(@"E:\Copie spool\tempo" + test + ".SPL", false, Encoding.UTF8);
    J'ai le souvenir que j'avais galéré avec le Encoding.GetEncoding()

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    J'ai bien essayé cette solution oui :/ ainsi que UTF8, ASCII, Unicode.

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Points : 57
    Points
    57
    Par défaut
    Il semble que la solution serait
    Encoding.GetEncoding(1252). Car la page de code 1252 correspond à l'encodage Windows pour les langues d'Europe de l'Ouest.

    Par contre es-tu certain que les lignes que tu écris possède bien des accents.
    Je m'explique, si tu ouvre un fichier en indiquant de l'ouvrir dans un format de type UTF-8 ou autres, tu obtiens le contenu du fichier mais avec la conversion des caractères.... et donc si tu tentes d'écrire ceux-ci dans un autre fichier même avec le bon encodage, ça risque de pas donner le bon résultat...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    J'ai essayé aussi avec ce code mais rien ne change.

    Concernant le document d'origine que je souhaite découper, à la première ligne j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    Et pourtant même en encodant mes fichiers écrit à ce format ca ne fonctionne pas.

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Points : 57
    Points
    57
    Par défaut
    Ma question va peut être te paraitre stupide mais ton ouverture de fichier ressemble à ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    StreamReader reader = new StreamReader(inputFilePath, Encoding.Default, true);
    à savoir que tu indiques bien un Encoding ? default ou autre... Je suppose ?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    Ta question n'est pas bête du tout car j'ai fais ceci lorsque je lis le fichier


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string[] text = System.IO.File.ReadAllLines(files[i],Encoding.Default);
    Et ca fonctionne, en effet c'était bien moi qui ne faisait pas l'encodage à la lecture du fichier initiale, merci beaucoup pour cette réponse!

  8. #8
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Points : 57
    Points
    57
    Par défaut
    Mais de rien, c'est avec grand plaisir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Encodage] Encodage de caractère accentué
    Par webpxis dans le forum Langage
    Réponses: 4
    Dernier message: 02/06/2010, 12h00
  2. [JSP] Encodage caractère
    Par tscoops dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 08/02/2005, 09h44
  3. Conversion caractères accentué
    Par Goliath722 dans le forum C++
    Réponses: 1
    Dernier message: 28/12/2004, 00h41
  4. Caractère accentué
    Par rbaby23 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 24/12/2004, 19h16
  5. Bulk insert et caractère accentué
    Par slc dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/04/2003, 12h52

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