Problème avec Java et Unicode

Fermé
mathinfo - 29 janv. 2010 à 05:25
 Utilisateur anonyme - 30 janv. 2010 à 09:08
Bonjour,
J'essaye de faire un de mes premiers programmes Java pour mon cours. Tout va bien, jusqu'à ce que j'arrive aux "é" à afficher dans l'invite de commande. J'ai bien compris qu'il fallait que j'utilise les tables d'Unicode, mais la valeur à entrer pour le "é" me donne plutôt un U accent aigu...J'utilise le code 00E9 ; exemple : entr\u00E9. J'ai essayé plusieurs autres codes, mais je n'ai jamais le résultat que je devrais obtenir selon la table.
Quelqu'un peut-il m'aider ?
A voir également:

5 réponses

Utilisateur anonyme
30 janv. 2010 à 00:11
Ps,

J'ai oublié de te demander quelle version java tu utilises...
1
Utilisateur anonyme
29 janv. 2010 à 09:03
Salut,


Exemple:


- é \u00e9 ou \u00E9
- è \u00e8 ou \u00E8

Le mieux c'est de tout mettre en minuscules, c'est plus facile à entrer !...

Pour tester:

    javax.swing.JOptionPane.showMessageDialog(null,
            "é (\\u00e9) >> \u00e9 ou (\\u00E9) >> é, è (\\u00e8) >>>> \u00e8");



plutôt qu'un println().

Lien: https://fr.wikipedia.org/wiki/Table_des_caract%C3%A8res_Unicode/U0080

Cordialement,

Dan
0
Merci de votre réponse, mais vous ne m'avez pas tout à fait comprise. Le U majuscule avec un accent aigu c'est ce que j'obtiens lorsque j'entre le code \u00E9 ou \u00e9. Comme si je n'avais pas la même table que celle que l'on trouve sur le net...
Lorsque je tape :
System.out.println("entr\u00E9")
J'obtiens lorsque je démarre le programme :
entrÚ
Merci
0
Utilisateur anonyme
30 janv. 2010 à 00:06
Re,

Si si, mais c'est avec un println donc à la condole MSDOS sur laquelle les accents ne sont pas affichés comme on voudrait, (c'est le moins qu'on puisse dire).

C'est pour celà que je demandais de faire l'affichage dans une boîte de dialogue:

javax.swing.JOptionPane.showMessageDialog(null, "entr\u00E9");


Si le résultat n'est pas correct non plus (entré), il faudra essayer de trouver pourquoi.
S'il est correct, je te donnerai une petite méthode qui permet un affichage correct à la console aussi.

Cordialement,

Dan
0
Bonjour,
Oui j'ai essayé votre méthode (j'avais oublié de le mentionner) et ça fonctionne très bien dans la boite de dialogue. J'utilise Java 6 update 18.
Merci de m'aider
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
30 janv. 2010 à 09:08
Bonjour,

C'est parfait, si c'est ok avec une boîte de dialogue.

Voici donc la méthode:
 public static void accents(String afficheAccents)
      {
         try
         {
            //  sortie à la console MSDOS avec les caractères accentués
            w = new BufferedWriter
                  (new OutputStreamWriter(System.out, "Cp850"));
            w.write(afficheAccents);
            w.flush();
            
               //w.close(); Doit etre faite apres le dernier affichage possible
         		//comme ceci:
         /*		
         try
         {
            w.close();
         }
             catch (Exception e)
            {
               e.printStackTrace();
            }  */
         }
             catch (Exception e)
            {
               e.printStackTrace();
            }
      }


Exemple d'utilisation:

Pour afficher ce message: Vous avez entré le caractère x ...

         String car = "x";
         accents("\nVous avez entr\u00E9 le caract\u00e8re " + car + "...\n");


ou pour afficher un texte (String texte)

accents(texte);

Cordialement,

Dan
0