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

EDI et Outils pour Java Discussion :

[Javadoc] Problème Javadoc avec du code UTF8


Sujet :

EDI et Outils pour Java

  1. #1
    Membre actif Avatar de maloups
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Points : 208
    Points
    208
    Par défaut [Javadoc] Problème Javadoc avec du code UTF8
    Bonjour,

    Je travail actuellement sur une application multilingue...
    Tous mes fichiers Java sont donc en UTF8, le problème, c'est que lorsque je génère ma Javadoc (via Eclipse qui utilise le Javadoc.exe de mon JRE), tout mes caractères spéciaux (accents par exemple) sont affiché en caractères bizarres...

    Je souhaiterai donc connaitre les alternatives possibles pour générer proprement ma Javadoc...

    Merci d'avance !

  2. #2
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Tu dois préciser l'encodage de tes sources à l'outil javadoc en utilisant le paramètre -encoding, ce qui donnerais en ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javadoc -encoding utf8 ...
    Tu peux même préciser l'encodage des fichiers HTML de sortie avec -docencoding...

    Avec eclipse il est possible de passer des paramètres optionnels à javadoc dans le wizard de génération de la javadoc (mais je ne me souvient plus où exactement).


    Par défaut, javadoc utilise l'encodage par défaut du système (comme tous les outils du JDK).


    a++

  3. #3
    Membre actif Avatar de maloups
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Points : 208
    Points
    208
    Par défaut
    L'idée à l'air plutot bonne, mais pour l'instant ca ne marche pas fort

    Dans un premier temps, j'ai fouiller un peu dans Eclipse, mais impossible de trouver l'endroit où on peut passer des paramètre Javadoc..

    J'ai donc test la bonne vieille méthode de la ligne de commande, mais rien n'y fait !

    J'ai tester les commandes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javadoc -encoding "utf-8" -docencoding "utf-8" -d repertoirejavaDoc -author mon_package/*.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javadoc -encoding utf8 -docencoding utf8 -d repertoirejavaDoc -author mon_package/*.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javadoc -encoding "utf8" -docencoding "utf8" -d repertoirejavaDoc -author mon_package/*.java
    La javadoc qui est générer avec ces lignes; ne change rien par rapport à celle générer sans paramèter
    Je suis obliger d'aller dans mon navigateur faire Affichage/Encoding/UTF8 pour que mon texte s'affiche correctement... Ce qui n'est pas très pratique...

    Je suis preneur à toutes idées !

    Merci d'avance

  4. #4
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par maloups Voir le message
    La javadoc qui est générer avec ces lignes; ne change rien par rapport à celle générer sans paramèter
    Je suis obliger d'aller dans mon navigateur faire Affichage/Encoding/UTF8 pour que mon texte s'affiche correctement... Ce qui n'est pas très pratique...
    En fait oui ca marche...

    Je viens de tester :
    • -encoding permet bien de récupérer les bon caractères depuis les sources.
    • -docencoding permet bien de générer les bons caractères dans les sources HTML (tu peux utiliser un éditeur compatible UTF-8 pour le vérifier).


    Par contre c'est vrai que la navigateur n'arrive pas à détecter l'encodage et utilise un encodage par défaut
    En fait le problème vient du fait que cet encodage n'est pas spécifié dans le source HTML...

    Et d'après la doc de Javadoc il faut utiliser l'option -charset :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javadoc -encoding utf8 -docencoding utf8 -charset utf8 -d repertoirejavaDoc -author mon_package/*.java
    Cela rajoutera la ligne suivante dans tous le header de tous les fichiers HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <META http-equiv="Content-Type" content="text/html; charset=utf8">
    Ce qui fait que le navigateur utilisera directement le bon encoding...

    a++

    [edit] PS : Je trouve ca un peu con d'avoir fait 2 paramètres... Pour moi -charset devrait dépendre de -docencoding...

  5. #5
    Membre actif Avatar de maloups
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Points : 208
    Points
    208
    Par défaut
    lol,

    J'suis bien d'accord avec toi ! en tout cas merci, ca fonctionne impec en ligne de commande !

    Plus qu'à trouver comment passer des paramètres dans Eclipse et ca sera que du bonheur !

    Je met ce poste comme résolu, je vais aller faire un tour du coté de la section Eclipse en espérant avoir un peu plus de réponse

  6. #6
    Membre actif Avatar de maloups
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Points : 208
    Points
    208
    Par défaut
    Pour info, pour faire la même sous Eclipse :

    Projet / Generate Javadoc
    (Saisir les info que vous souhaitez) Puis Next
    (Saisir les info que vous souhaitez) Puis Next
    Et enfin, dans "VM Option" mettre :
    -encoding utf8 -docencoding utf8 -charset utf8

    Et le tour est joué

  7. #7
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2004
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 86
    Points : 54
    Points
    54
    Par défaut Up
    Citation Envoyé par maloups Voir le message
    lol,

    J'suis bien d'accord avec toi ! en tout cas merci, ca fonctionne impec en ligne de commande !

    Plus qu'à trouver comment passer des paramètres dans Eclipse et ca sera que du bonheur !

    Je met ce poste comme résolu, je vais aller faire un tour du coté de la section Eclipse en espérant avoir un peu plus de réponse
    Bonjour à tous.
    Est ce que ce tuto est toujours d'actualité ? Car mes sources sont encodées en UTF-8 et je ne parviens pas à générer une javadoc où les caractères accentués apparaissent normalement.

    J'ai pourtant lancé la commande suivante:
    javadoc -encoding "utf8" -docencoding "utf8" -charset "utf8" -d etc ...

    Toute réponse sera la bienvenue.

    Merci par avance.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Points : 11
    Points
    11
    Par défaut Je confirme
    Hello,

    Je confirme ça fonctionne toujours très bien
    avec Eclipse.

    Cependant en ligne de commande pur et dur,
    je n'ai pas eu l'occasion d'essayer.


    Bien à vous.

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2013
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Sur Eclipse (Indigo):
    Project > Generate Javadoc > Next > Next

    Ajouter dans Extra Javadoc options:
    -charset "UTF-8"

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

Discussions similaires

  1. Problème execution avec IDE codes::blocks
    Par tom31 dans le forum Code::Blocks
    Réponses: 2
    Dernier message: 28/10/2008, 21h54
  2. Petit problème avec un code : besoin de votre aide :)
    Par loicdu4000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/09/2006, 18h02
  3. [MySQL] OU est le probléme avec ce code ??
    Par adlich dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 27/04/2006, 17h47
  4. [Javadoc]La Javadoc et un problème... simple mais paralysant
    Par lionrouge dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 09/12/2005, 00h00

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