[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

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
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


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
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