[java] Urldecoder.decode(zob,"utf-8"), les allemands attaquent!
Bienvenue invité ( Connexion | Inscription )
[java] Urldecoder.decode(zob,"utf-8"), les allemands attaquent!
PoP |
02/03/2004 16:20
Message
#1
|
||||
ragondin interstellaire Groupe : Membres Messages : 3,059 Inscrit le : 16/05/2002 23:00 Lieu : DTC, au fond à gauche Membre no. 8 |
J'ai le code suivant:
param est une HashMap définie précédemment dans mon code précédemment. Ce bout de code est destiné à décoder le contenu de cette hashmap. Ce qui pose problème dans ce bout de code, c'est URLDecoder.decode. Pour une raison que je n'arrive pas à comprendre, ceci ne décode...rien. Voici le résultat de l'exécution de mon code :
On le voit clairement, le "très gros éléphant" encodé en UTF-8 sort toujours encodé en UTF-8. Ma question est-donc, comment obtenir en sortie un décodage UTF-8? -------------------- PoP
"Consommez malin, consommez du ragondin!" |
||||
momo |
02/03/2004 16:51
Message
#2
|
lvl1 male rogue St=1 Dex=5 Int=17 Wi=5 Ch=0 Groupe : Modérateurs Messages : 1,730 Inscrit le : 16/05/2002 23:00 Lieu : .gif Membre no. 12 |
http://java.sun.com/j2se/1.4.2/docs/api/ja...va.lang.String)
ben d'après, ça , ce serai parceque ton texte d'entré n'obéit pas à l'encodage %+code caractère ? -------------------- Natural evolution insists that we are apes; artificial evolution insists that we are machines with an attitude.
Kevin Kelly - Out of control |
PoP |
02/03/2004 17:30
Message
#3
|
||||
ragondin interstellaire Groupe : Membres Messages : 3,059 Inscrit le : 16/05/2002 23:00 Lieu : DTC, au fond à gauche Membre no. 8 |
Je sais pas, depuis 14h j'arrive plus à accéder au site de sun. Le proxy de la boite doit manquer de ciboulette.
Toujours est-il qu'en procédant de la sorte:
J'obtiens en sortie:
Le "très" n'est pas décodé correctement -------------------- PoP
"Consommez malin, consommez du ragondin!" |
||||
PoP |
02/03/2004 17:54
Message
#4
|
||||
ragondin interstellaire Groupe : Membres Messages : 3,059 Inscrit le : 16/05/2002 23:00 Lieu : DTC, au fond à gauche Membre no. 8 |
Bon, pour tester mon code, j'ai un petit bout de php qui me fait ça:
Dans un browser web tout bête (mozilla) j'ai juste à cliquer sur mon chtit bouton et hop, j'obtiens mes traces suivantes:
C'est étrange comme tous les caractères ne sont pas décodés correctement. J'en viens même à me demander s'ils sont encodés correctement... -------------------- PoP
"Consommez malin, consommez du ragondin!" |
||||
PoP |
03/03/2004 11:27
Message
#5
|
||||||||
ragondin interstellaire Groupe : Membres Messages : 3,059 Inscrit le : 16/05/2002 23:00 Lieu : DTC, au fond à gauche Membre no. 8 |
L'encodage est-il fiable? En d'autres mots, ce que je fournis à ma servlet est-il bien encodé en UTF-8?
J'ai mis ce petit bout de code dans ma servlet, pour voir...
Et voici ce qu'il en résulte:
J'en conclue que ce que je lui fournissait en entrée à sortie de script php n'est pas de l'utf-8. Mais pourtant, j'utilise bien la fonction utf8_encode, alors où est le problème? Serait-ce le fruit de l'interaction de l'encodage de mon browser via lequel je fais la requête vers ma servlet? Quand je regarde le source du formulaire généré par test.php dans Mozilla, la chaine de caractère est
Et le plus drôle dans l'histoire, c'est que mon script php est destiné à reproduire le comportement d'un browser vxml...que je n'ai pas. Super youpi chouette. Gfx, t'as pas une idée toi l'être malsain du Java? -------------------- PoP
"Consommez malin, consommez du ragondin!" |
||||||||
Gfx |
03/03/2004 11:38
Message
#6
|
Goule Groupe : Membres Messages : 980 Inscrit le : 01/08/2002 23:00 Lieu : Lyon Membre no. 106 |
Je peux juste te dire que j'ai énormément d'emmerdes d'UTF8 avec PHP. Entre deux versions différentes les comportements ne sont pas les mêmes (#ProgX a des soucis à cause de ça entre ma version locale et celle d'OVH). Qui plus est, quand tu forces les ISO-8859-1 dans les XML/XSLT il s'en fout ou fait de l'UTF8 fonfon (donc pas parfait) un peu quand il veut
-------------------- |
PoP |
03/03/2004 11:48
Message
#7
|
ragondin interstellaire Groupe : Membres Messages : 3,059 Inscrit le : 16/05/2002 23:00 Lieu : DTC, au fond à gauche Membre no. 8 |
Solution partielle : je vais passer tout l'après-midi chez le client à chercher avec les conditions réelles ce que je peux faire. Je ferai part de la solution trouvée. -------------------- PoP
"Consommez malin, consommez du ragondin!" |
PoP |
04/03/2004 10:37
Message
#8
|
||||
ragondin interstellaire Groupe : Membres Messages : 3,059 Inscrit le : 16/05/2002 23:00 Lieu : DTC, au fond à gauche Membre no. 8 |
Problème résolu. Ouf.
Ici on apprend que
En clair, il faut remettre dans sa forme original la chaine reçu pour ensuite la décoder en UTF-8 ainsi
pour que le décodage soit réalisé correctement. -------------------- PoP
"Consommez malin, consommez du ragondin!" |
||||
Gfx |
04/03/2004 12:05
Message
#9
|
Goule Groupe : Membres Messages : 980 Inscrit le : 01/08/2002 23:00 Lieu : Lyon Membre no. 106 |
Heu ouais sinon tu peux décoder directement le UTF-16 )) Remarque ça expliqeu des choses, car décoder du UTF-16 avec l'algo UTF-8...
-------------------- |
PoP |
04/03/2004 13:29
Message
#10
|
||
ragondin interstellaire Groupe : Membres Messages : 3,059 Inscrit le : 16/05/2002 23:00 Lieu : DTC, au fond à gauche Membre no. 8 |
Bah non, parce que dans les specs du browser qui m'envoit ce que je trampoline, c'est stipulé que c'est de l'UTF-8. Et comme on est dans un contexte "La spec fait état de Loi", on va gentillement s'y conformer! Sinon décoder de l'UTF-16 avec l'algo UTF-8, ça fait que des grumeaux! -------------------- PoP
"Consommez malin, consommez du ragondin!" |
||
Peter Pan |
04/03/2004 14:00
Message
#11
|
Administrateur Groupe : Admin Messages : 3,026 Inscrit le : 16/05/2002 23:00 Lieu : Paris Membre no. 1 |
Hé hé moi c'est quand je me sers de la barre d'URL pour faire une recherche Google dans Firebird, il converti pas les accents ce niais
|
Version bas débit | Nous sommes le : : 19/04/2024 22:30 |