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

Langage Java Discussion :

extraction caracteres vietnamiens dans fichier Word


Sujet :

Langage Java

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Points : 106
    Points
    106
    Par défaut extraction caracteres vietnamiens dans fichier Word
    Bonjour a tous,
    voila j'ai un petit souci, il faut que je récupère un texte vietnamien (et donc tous ses caractères spécifiques) dans un document Word.

    J'ai réussi à récupérer le texte grâce à WordExtractor mais le problème est que quand je l'affiche dans la console, les caractères spéciaux sont remplacés par des "?".

    J'ai également cherché pour changer l'encodage en passant par des bytes mais je n'obtiens aucun résultat correct...

    Quelqu'un aurait-il une solution ?

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Si tu as de ? dans ta console, c'est qu'un des cas suivant s'est produit:

    1. Ta console ne gère pas les caractère vietnamien -> dans ce cas change la police de ta console. Note que généralement les caractère non supportés ont plutot tendance à s'afficher sous forme de petits carrés
    2. L'encodage java de System.out et l'encodage utilisé par la console ne correspondent pas. Exemple: java utilise l'UTF-8 et la console l'iso-8859-1. Il suffit d'extraire un word contenant des caractère français avec accent, il s'afficheront mal aussi dans ce cas là. Dans ce cas, mettre tout le monde d'accord en utilisant le meme encodage partout (java et console)
    3. Les encodages correspondent (exemple ISO-8859-1 de chaque coté) mais il s'agit d'un encodage ne supportant pas les caractère vietnamien. De préférence utilise toujours UTF-8 comme encodage.


    Donc en pratique:

    lancer ton application avec -Dfile.encoding=UTF-8 pour forcer l'utilisation de l'utf-8 dans la console java. Note que ceci ne définis que la partie java. Tu dois encore changer la configuration de ta console système. Ceci dépend uniquement de ton système.

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Points : 106
    Points
    106
    Par défaut
    en fait quand je parlais de la console je parlais de la console java.
    Je travaille sous NetBeans,
    je suis bien allé dans monProjet->Properties->Build->Compiling et ai mis la ligne que tu viens de me donner mais rien ne se passe.

    Je pense que le problème vient du fait que je repasse par un String qui lui est encodé en UTF-16 si j'ai bien compris.

    Dans le texte vietnamien il y a des caractères à accent et ils s'affichent très bien

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Non, l'encodage des string interne à java est le même partout et défini dans la JVM même. Les seuls endroit ou il peuvent etre corrompus c'est la transformation de et vers du binaire, donc en utilisant un charset.

    Le problème de console est le même qu'il s'agisse de la console de l'os ou de netbeans. Il faut que le charset utilisé par jave et par netbeans soient les mêmes.


    Si tu fait ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("unFichier.txt"),"UTF-8");
    et que tu envoie ton texte vers ce fichier, est-ce qu'il s'affiche correctement dans un editeur supportant l'utf-8? Si oui, c'est un problème console, si non, c'est un problème de ta librairie qui lit le fichier word.

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Points : 106
    Points
    106
    Par défaut
    en fait je cherche depuis je ne sais combien de temps pour rien, cela venait juste de ma console...

    Donc si veux comparer deux String en vietnamien, une simple comparaison suffira ? comme avec une String normale ?

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Citation Envoyé par kevinou55 Voir le message
    Donc si veux comparer deux String en vietnamien, une simple comparaison suffira ? comme avec une String normale ?
    Oui, l'encodage interne de java est basé sur l'unicode, il gère donc tous les caractères que gère l'unicode. Soit au jour d'aujourd'hui, tout depuis l'anglais jusqu'au vietnamien en passant par le braille et l'hébreu.

  7. #7
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 131
    Points : 106
    Points
    106
    Par défaut
    ok ok nickel meme le braille... pas mal

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

Discussions similaires

  1. Ecrire dans un dans fichier word/excel
    Par oneagaindoguys dans le forum Documents
    Réponses: 0
    Dernier message: 12/11/2009, 10h14
  2. [WD-2003] Selection d'une zone précise dans fichier word
    Par Lucas42 dans le forum VBA Word
    Réponses: 3
    Dernier message: 20/05/2009, 02h37
  3. [Oracle] Champs BLOB Orable dans fichier Word
    Par Maxbenji dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/10/2008, 11h46
  4. Réponses: 6
    Dernier message: 02/02/2007, 13h49
  5. écrire dans fichier word
    Par pierre.egaud dans le forum Windows
    Réponses: 1
    Dernier message: 17/09/2006, 21h55

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