C'était bien utf8 ! En fait, il ne fallait pas activer unicode et ça avait été fait à l'installation de Mandriva.
En le désactivant le problème s'est partiellement réglé : les données provenant de l'extérieur du programme (d'une base de données FireBird) apparaissaient normalement,
Ceci diagnostique un autre problème : quel que soit la locale utilisée par ta plateforme, tu ne dois pas être impacté dans le transfert des données de la base, il n'y a aucune raison que ce soit le cas. La base de donnée utilise un charset bien défini (enfin je ne connais pas FireBird mais si ce n'est pas le cas il faut en utiliser une autre !) et les données en Java ont toujours un charset bien défini (par exemple lorsqu'on crée une chaine de caracteres a partir d'un flot d'octets on doit dire quel charset est utilisé - on n'est pas *strictement* obligé de le faire en fait, on peut utiliser une autre méthode utilisant la locale de la JVM mais c'est très dangereux car ça mène exactement au genre de problème que tu as).
Tu as un problème à l'extraction des données de ta base. Si tu utilises JDBC, tu dois utiliser le paramètre "charSet=" et lui donner le charset utilisé par la base de données. En general il est prudent d'utiliser UTF-8 dans la base pour ne pas avoir de problème si un jour tu souhaites mettre dans ta base des langues hors de l'europe de l'ouest. Tu n'auras ensuite aucun problème quelle que soit la locale de la JVM (donc du système).
[^] # Re: Problème réglé !
Posté par gc . En réponse au message Lettres accentuées. Évalué à 3.
En le désactivant le problème s'est partiellement réglé : les données provenant de l'extérieur du programme (d'une base de données FireBird) apparaissaient normalement,
Ceci diagnostique un autre problème : quel que soit la locale utilisée par ta plateforme, tu ne dois pas être impacté dans le transfert des données de la base, il n'y a aucune raison que ce soit le cas. La base de donnée utilise un charset bien défini (enfin je ne connais pas FireBird mais si ce n'est pas le cas il faut en utiliser une autre !) et les données en Java ont toujours un charset bien défini (par exemple lorsqu'on crée une chaine de caracteres a partir d'un flot d'octets on doit dire quel charset est utilisé - on n'est pas *strictement* obligé de le faire en fait, on peut utiliser une autre méthode utilisant la locale de la JVM mais c'est très dangereux car ça mène exactement au genre de problème que tu as).
Tu as un problème à l'extraction des données de ta base. Si tu utilises JDBC, tu dois utiliser le paramètre "charSet=" et lui donner le charset utilisé par la base de données. En general il est prudent d'utiliser UTF-8 dans la base pour ne pas avoir de problème si un jour tu souhaites mettre dans ta base des langues hors de l'europe de l'ouest. Tu n'auras ensuite aucun problème quelle que soit la locale de la JVM (donc du système).