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

Applets Java Discussion :

Comment afficher le chinois dans une applet


Sujet :

Applets Java

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Comment afficher le chinois dans une applet
    Bonjour a tous,

    Je viens de développer une applet JAVA qui récupère des paramètres "chaine de caractère" depuis ma page HTML grâce à la méthode getParameter(), mais quand c'est du chinois il m'affiche des ????????.
    pourtant dans la page qui fait appel à l'applet j'ai déclaré le charset="UTF-8".

    toute idée qui pourra résoudre ce problème est la bienvenue !!

    Merci d'avance.

  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 807
    Points
    48 807
    Par défaut
    Avec quoi tu affiche, un JLabel? Quelle est la fonte du JLabel? Supporte-t-elle les caractère chinois? Des polices de caractères qui supportent le chinois, c'est rarement installé par défaut sur les OS, vu la taille d'un police trutype de ce type, on installe générallement que si c'est nécessaire... Vérifie déjà que t'arrive a afficher du chinois avec ta police

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    En fait j'ai installé a partir du CD winxp les polices manquantes, et j'affiche avec la fonction g.drawString().

    j'ai forcé la font du "Graphics g" avec la fonction g.setFont(new Font("Japanese",Font.PLAIN,10)), apres execution il m'affiche correctement le japonais, mais le prob c que maintenant il m' affiche tout en japonais sachant que souhaite afficher le japonais rien que lorsque les parametres sont en japonais.!!!!!!!!!!???????

  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 807
    Points
    48 807
    Par défaut
    Il faut que tu prenne une fonte multilingue, Japanese ne supporte probablement que les caractères japonais. Va falloir chercher un peu sur le net Et çà risque de pas être parfait ^^

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    RE,

    Je n'arrive pas a trouver une police qui gere toutes les langues, mais j'ai trouvé une autre solution, il s'agit de recuperer l'encodage de chaque caractere et de voir dans qu'elle plage de code il se situe, puis j'effectue un setFont() selon la plage ou il se situe.

    Lorsque j'execute le code ci-dessous, il me retourne le bon code pour tous les caracteres de l'ASCII, mais pas pour les autres caracteres comme "éàç":

    BufferedReader bf= new BufferedReader( new InputStreamReader(System.in));

    while ((chaine=bf.readLine())!=null)
    {
    byte[] byt = chaine.getBytes("UTF-8");
    for( int i=0; i<byt.length; i++ )
    {
    System.out.println((new java.math.BigInteger(byt)).toString(16));
    }
    }

    Que dois je faire??
    Merci.

  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 807
    Points
    48 807
    Par défaut
    alors, déjà, si tu veux travailler caractère par caractère, ne travaille surtout pas avec des byte[], puisque un caractère peut prendre plusieurs bytes. Tu prend tout ta string, tu la coupe en morceaux de 1 caractère avec substring et tu travaille là dessus, ou tu travaille avec des 'char'. Reste à trouver un critère de classification. IBM fournis une super librairie de gestion des chaines de caractère, qui tenait compte des spécificité de chaque langue et pouvais faire des truc vachement avancé, çà peut peut etre te servir, c'est ICU. Je me souviens m'en etre servi pour du code devant identifier les caractères non alphabétiques tout en autorisant toutes les formes d'accents.

    http://www.icu-project.org/

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup tchize_ pour ton aide, maintenant ca fonctionne , et j'ai definit des fonts rien que pour le Latin, Chinois et le Japonais.

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/05/2007, 15h10
  2. comment afficher un CString dans une boite de dialog?
    Par meera dans le forum Visual C++
    Réponses: 22
    Dernier message: 04/11/2006, 12h04
  3. Réponses: 13
    Dernier message: 09/03/2006, 18h17
  4. Comment afficher des JPEG dans une application Delphi ?
    Par Bouguennec dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/09/2005, 21h18
  5. Comment afficher les toolTipText dans une zone de statut ?
    Par nicok01 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 28/01/2005, 13h32

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