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 :

Affichage des caractères accentués


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut Affichage des caractères accentués
    Bonjour à toutes et à tous,

    Quand je veux afficher des caractères accentués, j'obtiens des symboles autres que les caractères accentués voulus. Je suppose que ce problème est un grand classique.

    J'ai consulté la FAQ et j'ai trouvé deux solutions :

    1. remplacer chaque caractère par son équivalent \u00XX
    2. utiliser un transtypage tel que : String t1 = new String ( t0.getBytes(), "UTF-8" );


    Cela fonctionne bien, mais je trouve cela un peu pénible d'avoir à penser à chaque fois à ce genre de manipulation. Existe-t-il une méthode, une instruction, ... qui, placée en tête de l'application prendrait ce genre de problème en compte. Désolé, je n'ai pas trouvé.

    Merci de votre aide.

    Pierre.

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    La réponse directe à ta question est non.

    Cependant, il est un peu surprenant que tu aies eu des problèmes tels que tu les indiques. Il y a un pataques au niveau de ta config, ou bien tu as changé de machine à un moment ou à un autre.

    Le problème fondamental est qu'il faut gérer ça, car avec java on est, presque par hypothèse, en environnement multi-langue et multi-machine.

    Si par hasard tu étais en environnement mono-langue et machine, alors tu ne te serais même pas aperçu du problème.

  3. #3
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par ChPr
    Bonjour à toutes et à tous,

    Quand je veux afficher des caractères accentués, j'obtiens des symboles autres que les caractères accentués voulus. Je suppose que ce problème est un grand classique.

    J'ai consulté la FAQ et j'ai trouvé deux solutions :

    1. remplacer chaque caractère par son équivalent \u00XX
    2. utiliser un transtypage tel que : String t1 = new String ( t0.getBytes(), "UTF-8" );


    Cela fonctionne bien, mais je trouve cela un peu pénible d'avoir à penser à chaque fois à ce genre de manipulation. Existe-t-il une méthode, une instruction, ... qui, placée en tête de l'application prendrait ce genre de problème en compte. Désolé, je n'ai pas trouvé.

    Merci de votre aide.

    Pierre.
    Il faut que tu passes également tes sources en UTF-8. Dans eclipse, c'est par défaut sous ubuntu, sinon c'est windows preference, general, editor je crois. Si c'est juste pour appliquer à un projet (ou un sous-arbre du package explorer), clic droit, properties, dans info, tu peux changer l'encodage.
    Donc voilà il faut que tes sources soient en UTF8.
    Ensuite, il faut dire à javac que tes sources sont en utf8. Il suffit de rajouter le paramètre -encoding utf8 à javac.
    Dans ant, tu rajoutes encoding="utf8" dans la balise <javac...>.

    Si tout ton système est en utf8 (genre sous ubuntu si ta variable LANG est configurée en utf8), il me semble que tu peux te passer de ces attributs, car c'est l'encodage par défaut.

    D'ailleurs, utf8 devrait être le language par défaut partout... Malheureusement, bill préfère utiliser cp1252 ou iso8859-1, qui ne sont pas complets.

  4. #4
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    gifffftane et ®om, je vous remercie pour vos réponses.

    Mes fichiers sources sont bien en UTF-8.

    Quand je me place dans l'environnement "Ubuntu", je n'ai pas de problème.

    Mon problème ets donc uniquement à l'exécution dans l'environnement "Windows".

    Je travail avec NetBeans.

    Citation Envoyé par ®om
    Ensuite, il faut dire à javac que tes sources sont en utf8. Il suffit de rajouter le paramètre -encoding utf8 à javac.
    Dans ant, tu rajoutes encoding="utf8" dans la balise <javac...>.
    Comment je lui cause à javac ??? ... je n'ai pas de "ant" (du moins je n'ai rien vu de tel dans mon dossier projet !!

    En bébut de mon programme, j'ai modifié deux variables d'environnement "file.encoding" et "sun.jnu.encoding". elles valaient "Cp1252" et j'ai mis "UTF-8", ça n'a rien changé.

    Merci de votre aide.

    Pierre

  5. #5
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par ChPr
    Comment je lui cause à javac ??? ... je n'ai pas de "ant" (du moins je n'ai rien vu de tel dans mon dossier projet !!
    Je ne connais pas assez NetBeans pour te dire où changer cela. Mais il me semble qu'il travaille avec Ant, tu dois avoir un fichier build.xml dans ton projet (c'est ça ton fichier "ant").

    ?

  6. #6
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Dans mon fichier build.xml, il n'y a pas de balise javac, j'ai ajouté celle-ci (on me demandait un chemin pour les soirces) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <javac srcdir="src" encoding="utf-8"/>
    avec au choix "utf8" ou "utf-8" ou UTF8" ou "UTF-8" ... aucune action.

    Que faire ?

    Cordialement.

    Pierre

  7. #7
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par ChPr
    Dans mon fichier build.xml, il n'y a pas de balise javac
    Tu peux faire un copier-coller de ce .xml?

Discussions similaires

  1. [OE] Affichage des caractères accentués
    Par marcel marie dans le forum Outlook Express / Windows Mail
    Réponses: 2
    Dernier message: 27/10/2008, 10h28
  2. [MySQL] Affichage des caractères accentués
    Par philippe57460 dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 30/06/2008, 14h33
  3. [Tableaux] Affichage des caractères accentués
    Par kate59 dans le forum Langage
    Réponses: 2
    Dernier message: 06/02/2008, 20h34
  4. Problème d'affichage des caractères accentués
    Par Neuromancien2 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 07/07/2007, 13h43
  5. Problème d'affichage des caractères accentués
    Par ostaquet dans le forum JBuilder
    Réponses: 1
    Dernier message: 10/03/2005, 06h58

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