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 :

Problème d'encodage UTF8 fichier texte


Sujet :

Entrée/Sortie Java

  1. #21
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 181
    Points : 64
    Points
    64
    Par défaut
    Non , aucun caractère accentué n'est afiiché correctement !

    Ce que je viens de dire, c'est qu'au niveau du fichier ils sont correctes
    Mais après le traitement efféctué et au niveau de l'affichage tous sont remplcé par un petit carreau

  2. #22
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Donc ils sont incorrects aussi au niveau de tes fichiers de sortie? Je relis tes posts et je ne suis pas sur que tu aie pris en compte les remarques faites. Vu que tu écris et lit plusieurs fois tes fichiers ils me semble, à chaque fois tu dois systématiquement utiliser UTF-8 dans tes reader / writer à l'ouverture.


    Autre remarque qui pourrait poser problème, il y a toujours 2 manières de représenter les accents en unicode. Avec un caractère combiné (00e9 pour le é) ou avec des caractères combinatoire. ( 0065 0303 pour e comibiné à ' qui deviens é). Vu que tu manipule des char directement, vérifie que tu n'es pas dans ce cas. Un moyen simple est de normalizer ta chaine pour t'assurer que tout les caractères décomposé redeviennent composés
    https://docs.oracle.com/javase/tutor...alizerapi.html

  3. #23
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 181
    Points : 64
    Points
    64
    Par défaut
    Bonsoir ,

    Pour bien comprendre mon problème , voila le resultat obtenu, extrait de la console de mon projet:
    Nom : res.PNG
Affichages : 337
Taille : 29,7 Ko
    Nom : res2.PNG
Affichages : 324
Taille : 19,6 Ko


    Oui, j'ai vérifié, et j'ai ajouté cette ligne au niveau de la lecture de mon fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BufferedReader inFile = Files.newBufferedReader(Paths.get(path), StandardCharsets.UTF_8);
    et ça au niveau scanner Scanner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sc = new Scanner(new File(fichier),"utf8")
    ;

    De même, je pose la question , comment je peux forcer l'encodage UTF-8 au niveau PrintWriter ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PrintWriter fichNDT = new PrintWriter(new FileWriter("monChemin/NDT.txt"));
    merci pour votre patience et votre compréhension

  4. #24
    Inactif  
    Femme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Août 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable marketing opérationnel

    Informations forums :
    Inscription : Août 2016
    Messages : 5
    Points : 0
    Points
    0
    Par défaut
    T'as mis 6mins 40 pour faire ça O_o ??
    Ya que moi que ça choque ????

  5. #25
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 181
    Points : 64
    Points
    64
    Par défaut
    Mes fichiers sont volumineux.
    Ce n'est pas ça mon problème

  6. #26
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Donc ce sont les caractères que tu lis depuis le clavier qui sont mauvais depuis le début, rien à voir avec tes fichiers

  7. #27
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par cheyma Voir le message
    Mes fichiers sont volumineux.
    Ce n'est pas ça mon problème
    c'est aussi un autre problème qu'il faudra que tu règle 200 à 500.000 entrées, moi j'appelle pas ça volumineux

  8. #28
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 181
    Points : 64
    Points
    64
    Par défaut
    Ca peut-être que le mot lu du clavier est mal traité ?
    J'ai ajouté "UTF-8" mais rien n'est changé


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    static String lireChaine() {
            Scanner sc = new Scanner(System.in,"UTF-8");
            System.out.println("Saisissez votre mot: ");
            String mot = sc.nextLine();
            System.out.println("Le mot à identifier sera limité par deux espaces: " + "_" + mot + "_");
            return "_" + mot + "_";
     
        }
    D'accord j'essaye de résoudre le problème du temps d'exéusion aussi

  9. #29
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    essaie ça, l'encodage devrait etre ok entre java et netbeans sur la lecture clavier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    static String lireChaine() {
            return System.console().readLine();
     
        }

  10. #30
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 181
    Points : 64
    Points
    64
    Par défaut
    Bonsoir,

    Merci , mais une erreur
    Exception in thread "main" java.lang.NullPointerException

  11. #31
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    c'est vague

  12. #32
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 181
    Points : 64
    Points
    64
    Par défaut
    J'ai mis ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    static String lireChaine() {
            Scanner sc = new Scanner(System.console().readLine());
            System.out.println("Saisissez votre mot: ");
            String mot = sc.nextLine();
            System.out.println("Le mot à identifier sera limité par deux espaces: " + "_" + mot + "_");
            return "_" + mot + "_";
     
        }
    Au niveau main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String Input = lireChaine();
    Erreur :

    Nom : pff.PNG
Affichages : 292
Taille : 1,5 Ko

  13. #33
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Pourquoi tu construit un scanner à partire de Console.readLine()? Ca te retourne déjà une ligne. Est-ce que System.console() te retrourne null? Ce serait balot, c'est le seule moyen de lire la console dans l'encodage correct
    Pour faire les chose simplement:

    netbean que je sache ne permet pas de choisir l'encodage de System.in dans sa console
    java ne permet pas de connaitre l'encodage de la console
    System.in a besoin d'un encodage pour devenir du texte
    Java n'a adressé ce problème qu'à partir de java 6 avec System.console qui fournis un Reader, un Writer et des possiblité de faire de l'input password (caché)
    Pour que console marche, il faut que la "console" de netbeans soit vraiment une console, je ne sais pas si c'est le cas.

  14. #34
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 181
    Points : 64
    Points
    64
    Par défaut
    Bonjour,

    J'ai rencontré le même problème quand , j'ai mis ça tout court:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      static String lireChaine() {
            return System.console().readLine();
     
        }

    Comment je pourrai savoir si ma "console" de netbeans soit vraiment une console" ?

  15. #35
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Tu teste si System.console() renvoie autre chose que null.

    Si ça renvoie null, tu peux oublier le lancement depuis netbeans et lancer ça dans une console de ton OS

  16. #36
    Expert confirmé Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 444
    Points : 4 563
    Points
    4 563
    Par défaut
    Le fichier est bien encodé en UTF-8?
    PXL le retro-gaming facile: Essayez-le

    Yildiz-Engine an open-source modular game engine: Website
    Yildiz-Online a 3D MMORTS in alpha: Facebook page / Youtube page

  17. #37
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 181
    Points : 64
    Points
    64
    Par défaut
    System.console() m'a renvoyé null

    Lancement de la console depuis OS

  18. #38
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ben oui, lancer depuis bash ou cmd.exe. De toutes façons c'est comme ça que ton utilisateur final lancera ton programme, il n'utilisera pas netbeans donc ça sert à rien de se tirer la nouille sur un problème qui n'en est pas un.

  19. #39
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 181
    Points : 64
    Points
    64
    Par défaut
    Bon , aussi avec Netbeans, je developpe le même programme sous forme d'une application web (JSF) avec les mêmes fonctionnamités .. et ça m'a donné le même resultat ... problème au niveau les caractère accentués !!

    Je sais pas quoi faire exactement

  20. #40
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Coté jsf, la résolution est sur le même principe, s'assurer que l'encodage du formulaire est correcte, que le décodage par le serveur correspond, etc.
    Mais vu que les procédures sont totalement différentes, il faut reprendre à 0 le problème pour le résoudre

Discussions similaires

  1. Problème listes chaînées et fichier texte
    Par khayyam dans le forum Pascal
    Réponses: 2
    Dernier message: 24/01/2007, 20h11
  2. Problème d'encodage de fichier
    Par djanggawul dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 03/01/2007, 20h26
  3. Déterminer l'encodage du fichier texte
    Par ze.Ninus dans le forum Langage
    Réponses: 1
    Dernier message: 10/10/2006, 16h43
  4. Problème d'encodage UTF8
    Par vg33 dans le forum Langage
    Réponses: 6
    Dernier message: 26/07/2006, 19h28
  5. Problème de réouverture de fichier texte
    Par EssaiEncore dans le forum Langage
    Réponses: 15
    Dernier message: 14/12/2005, 10h51

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