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 :

[Débutant] Pb caractères accentués sous console dos


Sujet :

Langage Java

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur
    Inscrit en
    Décembre 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 96
    Points : 88
    Points
    88
    Par défaut [Débutant] Pb caractères accentués sous console dos
    Bonjour à tous,

    je suis débutant en java. Voici on premier programme (calcul d'un périmètre à partir d'un rayon) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import java.util.Scanner;
     
    class cercle
    {
        public static void main(String [] args)
        {
            float r, p;
            Scanner scan = new Scanner(System.in);
            System.out.print("Entrez une valeur de rayon : ");
            r = scan.nextFloat();
            p = (float)(2*r*Math.PI);
            System.out.print("Le p\u00E9rim\u00E8tre d'un cercle de rayon " + r + " est " + p + "\n");
        }
    };

    Le programme fonctionne correctement sous netbeans mais lorsque je le lance sous dos j'obtients des carctères incorrect (mot périmètre : voir image jointe)

    Même problème quand je remplace par Quelqu'un peut-il m'expliquer ?
    Est-ce résolvable ?

    Merci de votre aide
    Images attachées Images attachées  

  2. #2
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Le problème c'est que DOS utilise un encoding particulier.

    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    PrintWriter outWriter = new PrintWriter(new OutputStreamWriter(System.out, Charset.forName("CP850")), true); 
    outWriter.println("Test de mot accentué");
    et dis moi si ça fonctionne correctement ! Mais attention à mon avis dans ce cas ça ne fonctionnera plus sous NetBeans...

  3. #3
    Membre actif
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2002
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 192
    Points : 252
    Points
    252
    Par défaut
    Le problème n'est pas nouveau et vient effectivement d'un problème d'encodage.

    Sous windows il existe deux encodages par défaut:
    • celui du système (Cp1252 par exemple en France dérivé de ISO 8859-1)
    • et celui des fenêtres DOS (page de code dîte OEM, CP850 pour la france)


    Pour modifier l'encodage par défaut de la JVM tu peux utiliser la syntaxe suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -Dfile.encoding=CP850     .....
    Ah les restes du bon vieux DOS !!!

    Voilà quelques liens à lire:

  4. #4
    Membre régulier
    Homme Profil pro
    Ingénieur
    Inscrit en
    Décembre 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 96
    Points : 88
    Points
    88
    Par défaut Ça marche !
    Ça marche comme je l'entend à présent. La solution de McFoggy me convient mieux car je compile et execute les applications avec des fichiers batch.

    Merci à tous et à bientôt !

  5. #5
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Oui effectivement c'est plus propre de changer l'encoding au lancement de la jvm plutôt que de le faire dans le code ! Comme ça tu restes portable

  6. #6
    Membre régulier
    Homme Profil pro
    Ingénieur
    Inscrit en
    Décembre 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 96
    Points : 88
    Points
    88
    Par défaut
    De plus je n'arrive pas à compiler ton code :
    Apparamment l'erreur vient de la variable Charset qui n'est pas déclarée, mais je ne sais pas de quel type elle doit être (comme je ne comprend pas la syntaxe de PrintWriter ni de OutputStreamWriter) ...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/11/2013, 10h48
  2. [RegEx] Caractères accentués sous Lamp
    Par gomodo dans le forum Langage
    Réponses: 7
    Dernier message: 17/11/2010, 17h13
  3. Caractères accentués sous l'éditeur vi
    Par yakotey dans le forum Administration système
    Réponses: 11
    Dernier message: 22/10/2009, 08h27
  4. Réponses: 1
    Dernier message: 17/10/2006, 04h39
  5. Caractères accentués en mode console
    Par Koubiacz dans le forum C++
    Réponses: 2
    Dernier message: 13/05/2005, 07h07

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