Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/12/2006, à 16:13

beloc

Charset sur ubuntu

Bonjour à tous,

J'utilise un programme java qui ce connecte a une db mysql.

Avant l'application java tournait sur une redhat 7.3 avec KDE et un jre 1.4.

Maintenant, l'application java est sur une ubuntu avec gnome et un jre 1.5.

Quand je lance mon application java, l'api s'affichent en utf-8 alors que ma db est en latin-1 donc j'ai des problèmes d'accent ...  J'ai essayer en utilisant le même jre que sur le redhat 7.3 et j'obtiens exactement la même chose.

Comment régler ce problème ? Comment mettre mon os ubuntu avec gnome en latin-1 ?

merci d'avance,

Hors ligne

#2 Le 12/12/2006, à 18:41

bertrand0

Re : Charset sur ubuntu

pour le latin1:
1)tu ajoutes une ligne contenant: "fr_FR ISO-8859-1"
dans le fichier /var/lib/locales/supported.d/local
afin d'activer la prise en charge du latin1 dans les traductions.
2)tu tapes "sudo dpkg-reconfigure locales"
afin de régénérer la base de données des traductions
3)avant de te logguer dans ta session, tu dois sélectionner Langue/Français dans l'écran de connexion.

pour le latin9:
1)la ligne à ajouter est "fr_FR@euro ISO-8859-15"
2)idem
3)il faut sélectionner Langue/Français(euro)

pour revenir à l'utf8:
1) rien à changer
2) idem
3) il faut sélectionner Langue/Français(utf8)


Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
                                                            Buffon, Discours sur le style

Hors ligne

#3 Le 12/12/2006, à 18:45

bertrand0

Re : Charset sur ubuntu

Malgré tout, il serait préférable de mettre à jour l'application java pour qu'elle soit capable de se conformer à la locale en cours.


Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
                                                            Buffon, Discours sur le style

Hors ligne

#4 Le 12/12/2006, à 18:45

jmoliere

Re : Charset sur ubuntu

salut a toi,
alors la bonne solution serait de regler ces putains de problemes de locales a grand coup d'aptitude/dpkg-reconfigure mais en serveur pas moyen d'y arriver (ca marche nickel en client!!!) j'ai teste
sur 3 boxes (edgy) et rien à faire...
donc je peux te proposer 2 hacks en Java:
- fixer l'encoding en parametre de la JVM (pas trop moche)
- modifier ton code (tres moche)


HTH
Jerome

Hors ligne

#5 Le 12/12/2006, à 18:48

bertrand0

Re : Charset sur ubuntu

jmoliere a écrit :

- modifier ton code (tres moche)

Pas si moche, après tout c'est l'application java qui ne prend pas en compte la locale de la base de données. Quand on manipule une chaîne de caractère, on devrait toujours être conscient de l'encodage. Or cette appli redirige directement la base de données vers l'affichage sans tenir compte du fait que l'encodage de la base est différent de l'encodage du système client.


Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
                                                            Buffon, Discours sur le style

Hors ligne

#6 Le 12/12/2006, à 20:52

beloc

Re : Charset sur ubuntu

merci à tous pour vos réponses,

Pour tt vous expliquer, un admin a rater une migration db mysql, api java, api prod de latin1 -> utf8

Je devais remettre la situation initial.

Maintenant que ça fonctionne, mon client va me demander de tt migrer en UTF8.

Souhaiter moi bonne chance ;-)

A+

Hors ligne

#7 Le 12/12/2006, à 20:54

beloc

Re : Charset sur ubuntu

J'ai utilisé pour dapper-drake et edgy eft:

sudo locale-gen fr_FR

Cette commande crée la nouvelle locale, et modifie le fichier /var/lib/locales/supported.d/local, contrairement aux anciennes Ubuntu ou à Debian qui utilisaient le fichier /etc/locale.gen

Et j'ai rajouter

export LC_CTYPE="fr_FR.ISO-8859-1"

Au début du script qui lance mon api java.

Ca me permet de rester en environement UTF8 et de lancer mon api en ISO-8859-1

ps: l'api java ce rêgle sur la local de l'environement ou elle est installer.

Dernière modification par beloc (Le 13/12/2006, à 10:57)

Hors ligne