Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1132 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [java]Pb de caracteres

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java]Pb de caracteres

n°1011863
yeahman99
Posté le 14-03-2005 à 11:26:25  profilanswer
 

Bonjour,
Voila je suis debutant en java et je dois utiliser des caracteres en japonais dans un JTextPane. La premiere chose que je ne comprends pas c'est que lorsque je fais

Code :
  1. JTextPane editeur = new JTextPane();
  2. editeur.setText("駅で三十分ぐらい待たさ" );


Dans ce cas il ne s'affiche que des ???
 
alors que si je fait un copier coller de cette meme chaine dans mon JTextPane elle s'affiche sans pb. Quelqun peut il m'expliquer comment ca se fait?  
 
Mon deuxieme probleme est de reussir a identifier quels sont les caracteres japonais et les caracteres francais tappés dans le JTextPane. Y a t il un moyen (assez simple) de faire ca?
 
Merci pour votre aide

mood
Publicité
Posté le 14-03-2005 à 11:26:25  profilanswer
 

n°1011874
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 14-03-2005 à 11:33:24  profilanswer
 

Bin t'utilises quelle fonte, déjà ? :o Passke si la fonte utilisée est pas capable d'afficher des caractères Japonais, faut pas s'étonner.
Ensuite, foutre du Japonais cash dans le code, je sais pas, ça me paraît un peu violent [:joce]
Pour différencier le Japonais du Français, à part faire une comparaison sur la valeur Unicode de chaque char, je pense pas qu'il y ait un moyen simple.


Message édité par Taiche le 14-03-2005 à 11:34:21

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°1011910
benou
Posté le 14-03-2005 à 11:54:42  profilanswer
 

pour tout ce qui est internationalisation, regrde du côté de java.util.ResourceBundle


---------------
ma vie, mon oeuvre - HomePlayer
n°1012030
yeahman99
Posté le 14-03-2005 à 14:00:30  profilanswer
 

j'ai pas specifier de fonte speciale (d'ailleur je sais pas comment faire) Mais si ca marche en faisant le copier coller c'est qu'il arrive bien a trouver la fonte dont il a besoin?
 
bon je vais aussi regarder java.util.ResourceBundle

n°1012064
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 14-03-2005 à 14:24:40  profilanswer
 

Si ça marche avec copier/coller ouais, y a des chances que la fonte soit OK.
Sinon, c'est certainement le coup du Japonais direct dans le source, passke Java va créer la chaîne "駅で三十分ぐらい待たさ" en passant le charset par défaut de la plate-forme. Essaie en mettant des caractères du genre "\uXXXX" où XXXX correspond à la valeur Unicode de ton caractère japonais.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°1012101
the real m​oins moins
Posté le 14-03-2005 à 14:49:00  profilanswer
 

Taiche a écrit :

Si ça marche avec copier/coller ouais, y a des chances que la fonte soit OK.
Sinon, c'est certainement le coup du Japonais direct dans le source, passke Java va créer la chaîne "駅で三十分ぐらい待たさ" en passant le charset par défaut de la plate-forme.


euh, "Java" ? tu peux etre plus précis sur ce coup? ... le compilo lis ça en unicode non?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1012164
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 14-03-2005 à 15:47:31  profilanswer
 

the real moins moins a écrit :

euh, "Java" ? tu peux etre plus précis sur ce coup? ... le compilo lis ça en unicode non?


J'demande à voir la compilation et le runtime du truc sur une plate-forme anglaise ou française, par exemple [:spamafote]
Un truc qui est certain, c'est qu'ici, sur ma machine US avec fontes japonaises, ça met effectivement des ??? partout. Donc à mon avis, c'est le compilo qui est en cause ; faudrait voir où exactement mais je ne pense pas qu'il lise lui-même le code en Unicode.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°1012172
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 14-03-2005 à 15:55:10  profilanswer
 

Ah bin je viens de trouver ça : http://www.jorendorff.com/articles/unicode/java.html

Citation :

Unicode Text in Java Source Code
 
You can also type Unicode data directly into a Java program. The javac compiler can read Java source files using the encoding of your choice. So ordinarily, you can type non-ASCII characters directly into a string—or even a variable name.


Suit un exemple en allemand qui doit pouvoir s'appliquer au japonais avec le bon charset, j'imagine.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°1012177
yeahman99
Posté le 14-03-2005 à 16:00:35  profilanswer
 

Bon alors je vien d'esayer de changer la fonte et ca me donne le meme resultat(??) J'ai aussi essayer avec \uXXXX et en effet ca marche mais c pas tres pratique.
Enfin merci de votre aide.
Je vais voir du coté de cet exemple allemand... On verra

n°1012180
the real m​oins moins
Posté le 14-03-2005 à 16:02:21  profilanswer
 

Taiche a écrit :

Donc à mon avis, c'est le compilo qui est en cause ; faudrait voir où exactement mais je ne pense pas qu'il lise lui-même le code en Unicode.


ok c'est ce que je voulais savoir :)
 
 
.. cela dit, maintenant que tu dis ça:

Citation :

# /usr/java/jdk1.5/bin/javac --help
javac: invalid flag: --help
Usage: javac <options> <source files>
where possible options include:
  -g                         Generate all debugging info
  -g:none                    Generate no debugging info
  -g:{lines,vars,source}     Generate only some debugging info
  -nowarn                    Generate no warnings
  -verbose                   Output messages about what the compiler is doing
  -deprecation               Output source locations where deprecated APIs are used
  -classpath <path>          Specify where to find user class files
  -cp <path>                 Specify where to find user class files
  -sourcepath <path>         Specify where to find input source files
  -bootclasspath <path>      Override location of bootstrap class files
  -extdirs <dirs>            Override location of installed extensions
  -endorseddirs <dirs>       Override location of endorsed standards path
  -d <directory>             Specify where to place generated class files
-encoding <encoding>       Specify character encoding used by source files
  -source <release>          Provide source compatibility with specified release
  -target <release>          Generate class files for specific VM version
  -version                   Version information
  -help                      Print a synopsis of standard options
  -X                         Print a synopsis of nonstandard options
  -J<flag>                   Pass <flag> directly to the runtime system


Message édité par the real moins moins le 14-03-2005 à 16:02:29

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 14-03-2005 à 16:02:21  profilanswer
 

n°1012187
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 14-03-2005 à 16:06:38  profilanswer
 

yeahman99 a écrit :

Bon alors je vien d'esayer de changer la fonte et ca me donne le meme resultat(??) J'ai aussi essayer avec \uXXXX et en effet ca marche mais c pas tres pratique.
Enfin merci de votre aide.
Je vais voir du coté de cet exemple allemand... On verra


Oui, le coup des \uXXXX spa très rigolo :D Mais dans la page que j'ai linkée au-dessus, y a un jouli exemple d'utilisation des Readers de java.io pour lire des fichiers texte en Japonais : à mon avis c'est une solution déjà plus pratique.

the real moins moins a écrit :

ok c'est ce que je voulais savoir :)
 
 
.. cela dit, maintenant que tu dis ça:

Citation :

# /usr/java/jdk1.5/bin/javac --help
javac: invalid flag: --help
Usage: javac <options> <source files>
where possible options include:
  -g                         Generate all debugging info
  -g:none                    Generate no debugging info
  -g:{lines,vars,source}     Generate only some debugging info
  -nowarn                    Generate no warnings
  -verbose                   Output messages about what the compiler is doing
  -deprecation               Output source locations where deprecated APIs are used
  -classpath <path>          Specify where to find user class files
  -cp <path>                 Specify where to find user class files
  -sourcepath <path>         Specify where to find input source files
  -bootclasspath <path>      Override location of bootstrap class files
  -extdirs <dirs>            Override location of installed extensions
  -endorseddirs <dirs>       Override location of endorsed standards path
  -d <directory>             Specify where to place generated class files
-encoding <encoding>       Specify character encoding used by source files
  -source <release>          Provide source compatibility with specified release
  -target <release>          Generate class files for specific VM version
  -version                   Version information
  -help                      Print a synopsis of standard options
  -X                         Print a synopsis of nonstandard options
  -J<flag>                   Pass <flag> directly to the runtime system



Ouais mais j't'ai grillaid de 7 minutes [:dark-imperator]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°1012188
push
/dev/random
Posté le 14-03-2005 à 16:06:50  profilanswer
 

ton éditeur sauve bien ton source en utf-8 je suppose ?
 
et en argu à javac si tu lui donnes -encoding UTF8 ça donne quoi ?
 
sinon ya aussi native2ascii du SDK pour convertir tous les caractères non ASCII d'un fichier en leur code unicode.
 
edit: mais pas si viteeee !!


Message édité par push le 14-03-2005 à 16:08:18
n°1012923
yeahman99
Posté le 15-03-2005 à 09:55:15  profilanswer
 

Ca y est ca marche! il fallait en effet lui specifier l'UTF8!
Merci de votre aide.
Il me reste ma deuxieme question: comment isolé dans mon JTextPane les elements en japonais et les elements en francais? Taiche tu disais q'il faut passer par la comparaison d'unicode? Il y a pas mieux?


Message édité par yeahman99 le 15-03-2005 à 09:55:29
n°1012994
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 15-03-2005 à 10:27:18  profilanswer
 

Bin... y a p'têt une astuce mieux que ça hein, mais comme j'ai jamais eu ce besoin, je peux pas te dire [:spamafote]
Un truc déjà : la valeur Unicode d'un caractère FR sera a priori toujours inférieure à 256 (les caractères FR sont encodés sur un seul octet alors que les caractères Japonais le sont sur 2), donc en faisant une connerie du style "test si la valeur chaque char de la chaîne est inférieur à 256", tu pourrais t'en sortir.
Mais j'te dis ça, c'est p'têt pas le plus propre ou le plus sûr...


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°1013066
yeahman99
Posté le 15-03-2005 à 11:16:21  profilanswer
 

Ok merci quand meme!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [java]Pb de caracteres

 

Sujets relatifs
Java/Réseauxdiviser java
[Java] 3 threads synchro[Java] Reconnaissance de type
Ancrer une application javaPb interface java
[Java] getParent()[java] Formulaire
Recuperation du nom de l'utilisateur en Java[EJB / Java] pb avec des attributs multivalués
Plus de sujets relatifs à : [java]Pb de caracteres


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR