Bonjour à tous,

Voila, j'ai un problème que je n'arrive pas à resoudre, je vous explique :

Je travaille sur un jeu multijoueur avec le client en flash, le serveur en java et la base de donnée en MySQL.

Jusqu'à maintenant, je faisais des test en local sous windows. Au départ j'avais quelques problèmes d'encodage : sur la console java et dans ma base de donnée les accents étaient remplacés par des caractères bizarres du genre Ã@ pour les é. Le truc, c'est que côté client il n'y avais pas de problème et les données s'affichaient correctement.

J'ai bien essayé de rendre tout ça plus propre en essayant d'afficher correctement les accents partout mais dès que j'envois au client autre chose que des "Ã@" pour les "é" il me les affiche pas correctement (si dans ma console Java les é s'affiche correctement en encodant mes String en utf-8, côté client ça coince).

Bon, vu que ça n'avais pas d'importance au niveau fonctionnalité j'ai laissé tel quel.

Maintenant, pour faire quelque test, j'ai eu besoin d'installer mon application serveur et ma base de donnée sur un Mac

Après quelques heures de bidouillage (super la limitation à java 1.4 pour la version de Macos10.3 ) j'arrive à faire marcher le tout, mais j'ai un nouveau problème d'encodage. Cette fois, les accent s'affiche correctement dans la console ET côté client, mais pas dans la base de donnée, donc les infos qui sont stocké dans la base de donnée s'affiche mal côté client.

J'ai fait des centaines de test toute la journée mais j'arrive à rien

J'ai toujours eu du mal avec les encodages car je sais pas trop comment ça marche. Je n'arrive pas à voir d'où le problème peut venir.

En résumé les "é" s'affiche comme ça pour mon forum et mon chat (C'est bon quand j'ai un é au début et à la fin) :

Sur windows et java 1.5 :
Forum : Client (é) -> Serveur (Ã@) -> BD (Ã@) -> Client (é)
Chat : Client (é) -> Serveur (Ã@) -> Client (é)

Ici pas de problème, même si c'est pas très propre.

Sur Mac avec java 1.4 :
Forum : Client (é) -> Serveur (é) -> BD (?@) -> Client (?@)
Chat : Client (é) -> Serveur (é) -> Client (é)

Ici, en passant par la base de donnée, les accents sont tous cassés. Pourtant l'encodage de la base de donnée n'a pas changer entre windows et Mac (utf-8) donc je suis pas sûre que ca vienne de la BD :/. En plus ca fait la même chose sur windows, sauf que le client arrive à convertir les Ã@ en é. Mais les ?@ il n'y arrive pas ^^

Lorsque je modifie manuellement la base de donnée en mettant des "é" je me retrouve avec des ? côté serveur et côté client.

Ce viens de flash ? de java ? de la BD ? de l'os ? de l'âge du capitaine ?

Voila, mon explication est un peu bidon mais je sais pas comment expliquer mieux. Si quelqu'un peut me donner une piste ca serais super. merci d'avance