[Résolu] Problème d'encodage de String.

Problème d'encodage de String. [Résolu] - Java - Programmation

Marsh Posté le 13-05-2006 à 12:36:50    

Bonjour,  
 
J'ai quelques problèmes d'encodage de chaînes de caractères.  
 
J'ai par exemple quelque chose comme çà :
System.out.println("Création ..." );
 
Le fichier est encodé en ISO-8859-15. Si la machine sur lequel le programme est utilisé, utilise uen sortie format ISO, c'est bon, par contre s'il utilise une sortie UTF-8, le "é" ne passe pas.
 
J'ai donc essayé d'externalizer les chaînes de caractères (outils d'éclipse), il me met un fichier : messenger.properties qui contient en autres :
XMLParser.1=Cr\u00E9ation du parser XML :
 
Mais ça ne change rien.
 
Je vois plus trop ce que je peux faire.
 
Merci.


Message édité par mr simon le 13-05-2006 à 13:45:39
Reply

Marsh Posté le 13-05-2006 à 12:36:50   

Reply

Marsh Posté le 13-05-2006 à 13:15:06    

Je ne suis pas un expert dans ce domaine mais je vais quand même essayer de répondre.
Ton problème se situe bien lors de l'execution du programme ?
Normalement, java représente en interne ses caractères en UTF-8 (donc sur 1 ou deux octets)
Pour l'affichage dans la console, je crois qu'il y a une convertion vers un autre format mais je ne sais pas si ou comment on peut modifier celà.
Quand tu dis que la machine utilise une sortie UTF-8 c'est bien de l'affichage des caractères dans la console ?

Reply

Marsh Posté le 13-05-2006 à 13:18:23    

The Mauler a écrit :

Normalement, java représente en interne ses caractères en UTF-8 (donc sur 1 ou deux octets)


Non. (et quand bien même, ça n'aurait aucun impact sur le problème)


Message édité par masklinn le 13-05-2006 à 13:19:58

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
Reply

Marsh Posté le 13-05-2006 à 13:44:59    

J'ai résolu mon problème. Le programme Java fonctionne bien. Voici la raison :
J'avais ma machine (Linux) en ISO-8859-15, j'ai changé une variable d'environnement pour passer en UTF-8, mais le terminal dans lequel s'exécutait le programme est resté en ISO.

 

Par contre en rédémarrant mon système en UTF-8 complet ça marche, comme en ISO.

 

Donc c'est tout bon.

Reply

Marsh Posté le 13-05-2006 à 13:54:21    

Donc il suffisais juste de régler le terminal :)
Sinon pour Masklinn, ce n'est pas de l'UTF-8 que java utilise en interne ?

Reply

Marsh Posté le 13-05-2006 à 15:02:45    

The Mauler a écrit :

Sinon pour Masklinn, ce n'est pas de l'UTF-8 que java utilise en interne ?


Non, UTF-16


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
Reply

Marsh Posté le 13-05-2006 à 15:55:13    

Ah ok  ! merci pour le renseignement :)

Reply

Marsh Posté le 26-12-2006 à 10:39:35    

Bonjour,
j'ai un prblème similaire...mais sous windows...
est-ce qu'il y a un moyen de le régler de la même façon ?
 
Merci !

Reply

Marsh Posté le 15-01-2007 à 15:09:47    

si tu veux lire et afficher un fichier UTF-8 sous windows en JAVA  
il encode les chaines par defaut dans l'encoding de l'OS (CP-1252 windows) donc à la lecture il faut forcer la convertion de tes bytes lus en UTF-8
 
cf  
 
http://java.sun.com/j2se/1.4.2/doc [...] tring(byte[],%20int,%20int,%20java.lang.String)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed