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

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] caractères accentué différents selon OS

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] caractères accentué différents selon OS

n°1053343
tuxbleu
renie ses origines
Posté le 20-04-2005 à 11:33:12  profilanswer
 

Bonjour,
 
J'ai un jeu an Applet qui contient un module de chat (fait en Swing).
Ce module fonctionne bien sur des plateformes windows, mais j'ai un pote qui possède une distrib ubuntu (on a pas idée d'avoir une distrib pareil ! ;) ), linux donc, et kan il écrit des caractères accentués dans son module de chat, ben nous on recoit des carrés. Par contre, lui il recoit bien les lettres accentuées que nous on écrit.
 
La transmition des phrases de chat se fait d'une manière très simple : le String entrée dans le module de chat est envoyé et à l'arrivé, ce String est affiché dans un JTextArea.
 
Je vais essayer ce soir de jouer avec ma fédora voir si rencontre le même problème.
 
A part "t'as qu'à lui dire d'untiliser une distrib digne de ce nom ;) ", Quelqu'un a déjà eu ce genre de problème ?
 
Merci de vos aides.

mood
Publicité
Posté le 20-04-2005 à 11:33:12  profilanswer
 

n°1053655
tuxbleu
renie ses origines
Posté le 20-04-2005 à 15:16:56  profilanswer
 

bon, ben :bounce:

n°1054042
Arwenalia
Posté le 20-04-2005 à 18:30:28  profilanswer
 

C'est normal que tu est ce problème car les caractères ne sont pas codés de la même manière sous Windows et sous Linux... L'interprétation marche dans un sens (Windows->Linux) mais pas dans l'autre...  
Pour ébaucher une solution, je dirais qu'il faudrait intercepter les caractères spéciaux et les remplacer ou non suivant l'OS sur lequel tourne l'applet... Je sais qu'il existe un moyen de le connaître. Si mes souvenirs sont exacts, ça serait System.Property("OS" ) qui retourne "Windows" ou autre selon le cas...
 
Bon courage, c'est pas évident de faire cohabiter Linux et Windows!

n°1054137
tuxbleu
renie ses origines
Posté le 20-04-2005 à 19:30:51  profilanswer
 

Arwenalia a écrit :

C'est normal que tu est ce problème car les caractères ne sont pas codés de la même manière sous Windows et sous Linux... L'interprétation marche dans un sens (Windows->Linux) mais pas dans l'autre...  
Pour ébaucher une solution, je dirais qu'il faudrait intercepter les caractères spéciaux et les remplacer ou non suivant l'OS sur lequel tourne l'applet... Je sais qu'il existe un moyen de le connaître. Si mes souvenirs sont exacts, ça serait System.Property("OS" ) qui retourne "Windows" ou autre selon le cas...
 
Bon courage, c'est pas évident de faire cohabiter Linux et Windows!


 
Mon bel idéal de "Java c'est parfait, multi plateforme..." s'éffrite un petit peu ! Fait chi** ces foutu caractères accentués ! Y auraient pu prévoir ca quand même ! C'est pas pasqu'en anglais ya pas d'accent que les autres pays c pareil !
 
Bon, ben merci de ton aide.


Message édité par tuxbleu le 20-04-2005 à 19:31:56
n°1054224
the real m​oins moins
Posté le 20-04-2005 à 20:24:16  profilanswer
 

.. parce que tu passes par l'encodage par défaut pour transmettre tes chaines de caractères.. l'encodage par défaut étant celui de la plateforme... la faute n'est donc pas à mettre sur le dos de java mais bien le tien. Tu peux spécifier l'encodage à utiliser lors de la transmission de tes données et/ou utiliser des Readers/Writers, plus adapté que les Stream que je te soupçonne d'utiliser.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1054454
tuxbleu
renie ses origines
Posté le 20-04-2005 à 22:50:08  profilanswer
 

eu ben c un JtextField, je récupèer avec getText() :
 
private JTextField chat_in;
 
 
 /**
  * Action 'entrée' sur champs text du chat.
  */
 private ActionListener act_in = new ActionListener() {
  public void actionPerformed(ActionEvent evt) {
   moncd.demandeEnvoieMesgChat(chat_in.getText(), numjoueur);
   chat_in.setText("" );
  }
 };

 
et demandeEnvoieMesgChat prend en parametre un String, et un int

n°1055242
tuxbleu
renie ses origines
Posté le 21-04-2005 à 15:08:45  profilanswer
 

:bounce:

n°1056771
tuxbleu
renie ses origines
Posté le 22-04-2005 à 15:45:02  profilanswer
 

the real moins moins a écrit :

.. parce que tu passes par l'encodage par défaut pour transmettre tes chaines de caractères.. l'encodage par défaut étant celui de la plateforme... la faute n'est donc pas à mettre sur le dos de java mais bien le tien. Tu peux spécifier l'encodage à utiliser lors de la transmission de tes données et/ou utiliser des Readers/Writers, plus adapté que les Stream que je te soupçonne d'utiliser.


 
Tu peux éclairer un peu plus ma lanterne ?
 
merci

n°1080494
victorus_e​cl
PIBCAK
Posté le 12-05-2005 à 08:40:44  profilanswer
 

ça doit être un truc du genre:
http://java.developpez.com/faq/jav [...] etFichiers

n°1080634
kruso
Posté le 12-05-2005 à 11:22:35  profilanswer
 

Mais Java n'est pas censé encoder en unicode par défaut ?


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

  [JAVA] caractères accentué différents selon OS

 

Sujets relatifs
[JAVA] Pb affichage caractèrecréer un répertoire en java
copier-coller en javaJava - Symbole €
formulaire et javaExcel to Java
avoir une aide en programmation javaaffichage des services en java
Gestion des fichiers en java[JAVA] Récupérer le résultat d'une commande linux?
Plus de sujets relatifs à : [JAVA] caractères accentué différents selon OS


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