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

Entrée/Sortie Java Discussion :

Créer un fichier texte encodé en UTF8


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de jmnicolas
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2007
    Messages : 427
    Par défaut Créer un fichier texte encodé en UTF8
    Bonjour,

    dans un programme Java je crée des fichiers textes grâce à ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    File noGps = new File (Proprietes.getInstance ().getProp ("nogps")) ;
     
    try
    {
            this.scribe =  new PrintWriter(new BufferedWriter (new FileWriter(noGps))) ;
    }
    Lorsque j'ouvre le fichier avec l'éditeur NotePad++ il m'indique un encodage ANSI, mais le fichier doit être en UTF8.
    Je n'ai pas trouvé de paramètres à utiliser pour spécifier l'encodage souhaité, une idée ?

    Merci.

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Il manque malheureusement un paramètre à la classe FileWriter, et il est impossible de lui spécifier un encodage. Il faut donc passer par un OutputStreamReader :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new PrintWriter(new BufferedWriter (new OutputStreamWriter(new FileOutputStream(noGps), "utf8")));
    a++

  3. #3
    Membre très actif Avatar de jmnicolas
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2007
    Messages : 427
    Par défaut
    Forcément si je cherche pas au bon endroit

    Mon fichier est dorénavant bien encodé en UTF8 par contre lorsque je l'ouvre avec NotePad++ il me sabote les accents, style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Les arrêts suivants n'ont pas de coordonnées GPS et n'ont donc pas été inclus dans le fichier GoogleTransit stops.txt :
    Il y a une autre conversion à faire avant ?

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    On dirait de l'UTF8 interprété en ISO-latin1... ou inversement !

    Essayes d'ouvrir le fichier avec un autre lecteur pour voir si le problème ne viendrait pas de notepad++

    Sinon d'où provient cette chaine ce caractère ? Directement de ton code où tu la récupères depuis une source externe ?

    a++

  5. #5
    Invité de passage
    Inscrit en
    Août 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1
    Par défaut
    Notepad++ ouvre le fichier avec l'encodage par défaut du système (cp1252 si on est sous windows), les accents (encodés sur 2 octets en UTF-8) sont donc représentés par deux caractères bizares.
    Dans le menu "Format" de notepad++, il doit être possible de demander à lire le fichier en UTF-8.

  6. #6
    Membre très actif Avatar de jmnicolas
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2007
    Messages : 427
    Par défaut
    Pourtant NotePad++ m'indique bien "Encoder en UTF-8 (sans BOM)" lorsque je clique dans le menu Format, alors qu'il m'indiquait ANSI auparavant.

    J'ai essayé le Notepad classique de Windows ainsi que OpenOffice, j'ai le même résultat.

    L'affichage provient de String Java qui ont été formées à partir de la lecture d'un fichier .kml (c'est du xml pour Google Maps). encodé lui aussi en UTF-8.

    edit : en regardant le fichier kml il était encodé en ANSI alors que c'était pourtant inscrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="UTF-8"?>
    Le problème est résolu après avoir convertit le kml en UTF-8, merci beaucoup

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

Discussions similaires

  1. Créer un fichier Texte encodé en UFT8 ?
    Par lbgl dans le forum C++
    Réponses: 5
    Dernier message: 17/12/2007, 16h59
  2. Lots DTS : créer un fichier texte ...
    Par steufleg dans le forum Windows
    Réponses: 2
    Dernier message: 08/02/2006, 18h07
  3. Créer un fichier texte
    Par Fedaykin7 dans le forum Langage
    Réponses: 7
    Dernier message: 27/01/2006, 14h26
  4. Comment créer un fichier texte?
    Par Crazynoss dans le forum ASP
    Réponses: 2
    Dernier message: 08/05/2005, 19h53
  5. Instruction pour créer un fichier text ???
    Par Soulsurfer dans le forum Langage
    Réponses: 2
    Dernier message: 06/08/2002, 11h17

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