[jsp/resin] probleme de character set/accents

probleme de character set/accents [jsp/resin] - Programmation

Marsh Posté le 05-07-2002 à 23:52:59    

EDIT: voir dernier message, ceux-ci n'ont plus trop d'interet...
 
 
 
Voila... j'ai une db avec des news et ce genre de banalités. Ecrits en français des fois, donc avec des accents, des ç, et tout ce genre de joyeusetés.
Ces jolies news etaient affichées sur un joli site ouaib par de jolies pages jsp.
 
 Bon jusqu'a il y a qques jours tout allait bien. Mais là le serveur vient d'etre migré sur une autre machine. Et paf, tous mes characteres accentués apparaissent soit comme "?" soit comme "ý". Zarb.
Quand je me connecte directement à la db par un client qqconque, aucun problème, mes accents sont bel et bien là.
Quand je me fait une superbe page test.jsp avec dedans "
éùôùµîèàçïöä" ça apparait tres tres bien
(j'ai dans toutes mes pages le <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> )
 
Qqun à une idée d'où ça peut venir??
 
merchi


Message édité par --greg-- le 13-07-2002 à 22:11:26

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 05-07-2002 à 23:52:59   

Reply

Marsh Posté le 06-07-2002 à 00:14:19    

tu utilises odbc?


---------------
All we need is a soul revolution
Reply

Marsh Posté le 06-07-2002 à 00:45:09    

kayasax a écrit a écrit :

tu utilises odbc?



pas fou non :)
 
non c sur une machine linux si ça peut apporter qqchose


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 06-07-2002 à 05:33:22    

--greg-- a écrit a écrit :

le serveur vient d'etre migré sur une autre machine


peut-être un conflit de headers. ton ancien serveur n'envoyait rien, le navigateur prenait le http-equiv. le nouveau envoie un content-type (différent du http-equiv) traité prioritairement par le navigateur.
 
bref, regarde les headers http.

Reply

Marsh Posté le 06-07-2002 à 10:18:49    

Bon, je sais pas si ça peut t'aider mais au moins j'aurai tenté.
 
1) Les caractères des news affichés par un SELECT sont corrects ? J'imagine que t'as vérifié...
 
2) Est-ce-qu'il n'y aurait pas une table de caractères différente utilisée par le SGBD et le serveur web ? Dans ce cas, les caractères correspondent à des codes ASCII qui diffèrent selon la table utilisée. Si c'est ça, il faut stocker les news en utilisant UNICODE, un jeu de caractères indépendant de la plate-forme (il me semble)...
 
 :hello:  
 
Vive Java !!

Reply

Marsh Posté le 06-07-2002 à 12:21:18    

je confirme ce que youdontcare explique. Déjà eu le problème avec une migration de données et un content/type qui foirait au niveau du web server....
 
Utilise un proxy en mode trace comme jigsaw par exmeple pour voir quel genre d'header tu récupères. Je l'ai sur ma machine, si tu veux file moi le lien et je t'envoie les traces.
 
A+

Reply

Marsh Posté le 06-07-2002 à 13:16:19    

y'a que le serveu web qui a changé, ou la base de données est aussi sur le nouveau serveur ?
 
Si oui :
- est-ce qu'avec une requete manuelle tu as les accents ?
- est-ce que tu as installé les locales (iso-8859-1 ou -15) ?
 
A mon avis ca viens de la...

Reply

Marsh Posté le 06-07-2002 à 15:14:50    

mais oui, qd je fais une requete "a la main" (depuis un client mysql), j'ai les bons accents...


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 06-07-2002 à 16:51:10    

youdontcare a écrit a écrit :

peut-être un conflit de headers. ton ancien serveur n'envoyait rien, le navigateur prenait le http-equiv. le nouveau envoie un content-type (différent du http-equiv) traité prioritairement par le navigateur.
 
bref, regarde les headers http.




 

Citation :

HTTP/1.1 200 OK
Server: Resin/2.0.0
Cache-Control: private
Set-Cookie: JSESSIONID=aaadlL-_JEe2D0; Path=/
Content-Type: text/html
Content-Length: 6195
Date: Sat, 06 Jul 2002 14:48:03 GMT


 
 
rien de louche à ça n'est-ce pas...?


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 06-07-2002 à 18:32:10    

MachinBidule a écrit a écrit :

2) Est-ce-qu'il n'y aurait pas une table de caractères différente utilisée par le SGBD et le serveur web ? Dans ce cas, les caractères correspondent à des codes ASCII qui diffèrent selon la table utilisée. Si c'est ça, il faut stocker les news en utilisant UNICODE, un jeu de caractères indépendant de la plate-forme (il me semble)...




 
... comment je peux savoir quel "table de caracteres" est utilisée par mysql? (j'ai un shell sur la machine)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 06-07-2002 à 18:32:10   

Reply

Marsh Posté le 06-07-2002 à 18:46:10    

lorill a écrit a écrit :

y'a que le serveu web qui a changé, ou la base de données est aussi sur le nouveau serveur ?
 
Si oui :
- est-ce qu'avec une requete manuelle tu as les accents ?
- est-ce que tu as installé les locales (iso-8859-1 ou -15) ?
 
A mon avis ca viens de la...




les deux ont changé
1/ oui ça marche
2/ c pas moi qui ai installé le srvr, comment je peux verifier ça?


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 06-07-2002 à 19:33:37    

apres qques tests: je confirme, le pb doit se situer qque part entre mysql et resin.
une idée qqun? :(
 
(j'ai utilisé le client mysql sur le serveur meme pour vérifier aussi)


Message édité par --greg-- le 06-07-2002 à 19:35:55

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 06-07-2002 à 19:34:51    

--greg-- a écrit a écrit :

apres qques tests: je confirme, le pb doit se situer qque part entre mysql et resin.
une idée qqun? :(




 
entre mysql et resin ? :(
 
euh ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 06-07-2002 à 19:36:35    

DarkLord a écrit a écrit :

 
 
entre mysql et resin ? :(
 
euh ...



vi je veux dire "sur le chemin entre m et r" :D
je veux dire ça vient ni de l'un ni de l'autre directement.
 
edit: ça se précise.
avec une bete classe de test lancée sous shell, je n'ai pas non plus les accents. probleme de driver jdbc???
edit: nan, je viens d'essayer avec la derniere version des drivers, pareil. probleme de locale comme le suggérait qqun? euh?


Message édité par --greg-- le 06-07-2002 à 19:54:43

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 06-07-2002 à 20:22:29    

bon je crois que j'ai trouvé qqchose:
 
http://sourceforge.net/forum/forum [...] m_id=50480
 
mais je ne comprend pas bien la réponse :)
(enfin ou dois-je mettre ce "useUnicode=true&characterEncoding=XXXXX" :??:  
 
 :sleep:
 
edit: de plus ça marche tres bien sur ma machine, en local, avec exactement le meme driver. (serait-ce un 'reglage' de la jvm? j'ai déjà remarqué sur ma machine que la jvm faisait des choses en français sans que je lui demande rien, des fois...)
 
edit: bon il faut mettre ça dans l'url de la db. ça ne m'explique pas pq ça marche chez moi et que ça marchait sur l'autre serveur :/
 
edit: d'ailleurs ça change rien :/
 
edit: ha tiens si en fait. y'a juste un ô qu'est resté comme "?", bizarre.


Message édité par --greg-- le 06-07-2002 à 20:42:01

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 07-07-2002 à 21:44:25    

et alors il semble que ton prob. est résolu ... Tu donnes pas la solution ? :p


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 07-07-2002 à 21:50:16    

DarkLord a écrit a écrit :

et alors il semble que ton prob. est résolu ... Tu donnes pas la solution ? :p




 

--greg-- a écrit a écrit :

[...](enfin ou dois-je mettre ce "useUnicode=true&characterEncoding=XXXXX" :??:  
[...]
edit: bon il faut mettre ça dans l'url de la db. ça ne m'explique pas pq ça marche chez moi et que ça marchait sur l'autre serveur :/
 
edit: d'ailleurs ça change rien :/
 
edit: ha tiens si en fait. y'a juste un ô qu'est resté comme "?", bizarre.




 
 
... :sarcastic:

Reply

Marsh Posté le 07-07-2002 à 21:51:36    

--greg-- a écrit a écrit :

 
 
 
 
 
... :sarcastic:  




 
Bien tiens ta succession d'edit et de réflexions perso, c'est super clair !!!  :fou:  
 
 
 
 
 
 
 
 
 
 
 :D


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 07-07-2002 à 22:00:02    

DarkLord a écrit a écrit :

 
 
Bien tiens ta succession d'edit et de réflexions perso, c'est super clair !!!  :fou:  
 
 
 :D  




 
bah moi quand je relis je comprend :D

Reply

Marsh Posté le 07-07-2002 à 22:00:51    

c'est utile pour le forum cèclair :D


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 07-07-2002 à 22:09:58    

DarkLord a écrit a écrit :

c'est utile pour le forum cèclair :D




bon spécial dédicace a mossieur darklord:
avec mm.mysql (le driver jdbc pour mysql bien connu), si on veut utiliser un autre jeu de caractère que l'ascii de base, il faut utiliser une url du genre
 
jdbc:mysql://localhost/masuperbase?useUnicode=true&characterEncoding=ISO8859_1
 
mais pour je ne sais trop quelle raison, j'ai pas besoin de spécifier ça sur ma machine, ni sur l'ancien serveur ou était mon site. toutefois je ne suis pas sur que j'utilise bien la meme version du driver. mais je crois bien que oui...


Message édité par --greg-- le 07-07-2002 à 22:13:26
Reply

Marsh Posté le 07-07-2002 à 22:11:24    

bin tu vois qd tu veux :)
 
merci je note ca dans mes brols ....


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 07-07-2002 à 22:14:29    

c naze ce principe jtrouve :/
ça te pollue l'url, alors que bon, quel est le connard non-americain n'utilise que l'ascii hein?

Reply

Marsh Posté le 08-07-2002 à 08:29:38    

:ange:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 11-07-2002 à 21:40:49    

:bounce:  un ptit up:
plus de problème avec la db, mais mon contenu statique est toujours foiré. sur le serveur, les accents sont bel et bien là, et j'ai bien le <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
qd je regarde la source dans le browser, les ? sont là à la place des accents....
help :/

Reply

Marsh Posté le 13-07-2002 à 22:10:56    

:bounce:  
... quand je ne fais pas mes includes (header footer) ou que je met le contenu de ceux-ci entre commentaires (jsp style: <%-- blabla --%> ) ça marche... enfin j'ai les bons accents quoi.
je comprend rien là :/

Reply

Marsh Posté le 14-07-2002 à 00:47:14    

bon apparement ct un bug de resin sur les includes jusqu'a la version 2.0.2 (2.0.0 sur le serveur  :gun: alors que la derniere est 2.1.x et que 2.0.2 sortie depuis treeees lgtps)
à suivre...


Message édité par --greg-- le 14-07-2002 à 00:47:24
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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