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

VB.NET Discussion :

[VB.NET][StreamWriter] Caractères accentués disparus


Sujet :

VB.NET

  1. #1
    Membre habitué Avatar de joefou
    Profil pro
    Inscrit en
    Février 2005
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 248
    Points : 177
    Points
    177
    Par défaut [VB.NET][StreamWriter] Caractères accentués disparus
    [VS.NET 2003]

    Salut à tous !

    J'ai un truc bizarre, j'utilise un StreamWriter pour inscrire ce genre de lignes "Fichier envoyé avec succés". j'ai un projet windows form dans lequel j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim Fic new StreamWriter("c:\truc.txt", false, System.Text.encoding.default)
    Fic.WriteLine("Fichier expédié avec succès")
    Fic.flush()
    Fic.close()
    Pas de soucis, j'ai bien le texte correctement formaté dans le fichier.

    Je reprends ce code dans un projet de service windows cette fois, mais le fichier créé ne comporte plus les caractères accentués !

    Quelqu'un a-t'il une idée siouplait ?
    D'avance merci !
    "On peut dire qu’il est possible de savoir comment vaincre sans être capable de le faire" - Sun Tze, in L'art de la guerre

    "Mais t'es complètement naze ou quoi ?! UNE pomme ! ça fait DEUX moitiés de pomme !! mais quand vas-tu le comprendre ?! J'en ai ma claque, j'me tire !" - Bouddha et un disciple, dans un moment de faiblesse

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    verifie en remplaçant par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Imports System
    Imports System.IO
    Imports System.Text
    '...etc..
     
    Dim Fic As StreamWriter
    '...
    Try
       Fic = New StreamWriter("c:\truc.txt", Encoding.Default)
     '...
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre habitué Avatar de joefou
    Profil pro
    Inscrit en
    Février 2005
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 248
    Points : 177
    Points
    177
    Par défaut
    Salut Neguib !
    Alors j'ai essayé ça (y'a pas de constructeur StreamWriter avec (String,Encoding) )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
            Dim Flux As FileStream
            Dim Fichier As StreamWriter
            Dim Message as String = "Envoyé avec succés"
            ...
            Try
                Flux = New FileStream(m_CheminFichier, FileMode.Append)
                Fichier = New StreamWriter(Flux, System.Text.Encoding.Default)
                ...
                Fichier.AutoFlush = True
                Fichier.WriteLine(Message)
                ...
    Et le verdict est toujours le même dans le fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "Envoy avec succs"
    Quand je ne précise pas le paramètre Encoding, ça fonctionne...
    Je vais aussi faire des tests sur un autre poste en w2k pour voir un peu...
    "On peut dire qu’il est possible de savoir comment vaincre sans être capable de le faire" - Sun Tze, in L'art de la guerre

    "Mais t'es complètement naze ou quoi ?! UNE pomme ! ça fait DEUX moitiés de pomme !! mais quand vas-tu le comprendre ?! J'en ai ma claque, j'me tire !" - Bouddha et un disciple, dans un moment de faiblesse

  4. #4
    Membre habitué Avatar de joefou
    Profil pro
    Inscrit en
    Février 2005
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 248
    Points : 177
    Points
    177
    Par défaut
    Sous mon poste de Dev en XP, ça passe pas ;
    alors j'ai essayé mon service sous un w2k, et là pas de soucis, le formatage du texte dans le fichier est correct... sauf pour toutes les lignes précédemment inscrites (les 3 1eres avec un streamwriter sans parametre Encoding) ; voilà ce que j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    22/12/2005 11:08:12 - Fichier SORTIESA0036.dat,  expédié avec succès
    22/12/2005 11:26:32 - Mise à jour de la base effectuée avec succès (FichierEXPDT.510.0401081325)
    22/12/2005 11:49:08 - Mise à jour de la base effectuée avec succès (FichierEXPDT001)
    22/12/2005 12:08:15 - Fichier SORTIESA0037.dat,  expédié avec succès
    Je vais passer par les constructeurs sans paramètre d'Encoding, je vois rien d'autre... Alors qu'avec les StreamWriter c'est préférable de renseigner l'Encoding, pour les Writer ça semble être différent... voilà qui ne me laisse pas vraiment serein !
    "On peut dire qu’il est possible de savoir comment vaincre sans être capable de le faire" - Sun Tze, in L'art de la guerre

    "Mais t'es complètement naze ou quoi ?! UNE pomme ! ça fait DEUX moitiés de pomme !! mais quand vas-tu le comprendre ?! J'en ai ma claque, j'me tire !" - Bouddha et un disciple, dans un moment de faiblesse

  5. #5
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Donc si je comprends bien pour un service Windows pas d'encodage en ecriture c'est çà la soluce trouvée :
    En même temps l'habitude est d'ecrire dans un Journal d'évènements, cela a peut être un lien :
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  6. #6
    Membre habitué Avatar de joefou
    Profil pro
    Inscrit en
    Février 2005
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 248
    Points : 177
    Points
    177
    Par défaut
    Ca y est ! j'ai compris !

    En fait je faisais une succession de tests sur un seul et même fichier (et vas y que je met du texte encodé en Ascii, et puis du Default, et puis de l'UTF8...)... Ce qui fait que le texte qu'on inscrit dans le fichier est influencé par le format déjà utilisé !

    Si je créé un fichier avec un type d'encodage et que je n'en change pas par la suite, alors ça fonctionne ! xp ou w2k... donc le code que tu m'as donné en exemple fonctionne !

    Je fatigue, j'ai besoin de vacances là ...

    Merci de ton aide Neguib !
    "On peut dire qu’il est possible de savoir comment vaincre sans être capable de le faire" - Sun Tze, in L'art de la guerre

    "Mais t'es complètement naze ou quoi ?! UNE pomme ! ça fait DEUX moitiés de pomme !! mais quand vas-tu le comprendre ?! J'en ai ma claque, j'me tire !" - Bouddha et un disciple, dans un moment de faiblesse

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

Discussions similaires

  1. Asp.net, ajax et les caractères accentués
    Par youness_ka dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/05/2010, 14h26
  2. Réponses: 5
    Dernier message: 29/05/2008, 15h23
  3. [VB.NET] Fichier XML et caractères accentués = PROBLEME !
    Par andlio dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 18/02/2008, 09h39
  4. [PostgreSQL] Les caractères accentués ?
    Par yacomor dans le forum Requêtes
    Réponses: 2
    Dernier message: 18/02/2003, 16h30
  5. insérer des caractères accentués INFORMIX/JDBC
    Par donde dans le forum Informix
    Réponses: 2
    Dernier message: 19/11/2002, 20h02

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