OVH Cloud OVH Cloud

Problème... accents!

1 réponse
Avatar
Ze Québécois
9Bonjour!

Voici mon problème, je sais pas si quelqu'un a déja bâti quelque chose la
dessus ca m'éviterait de le faire... Voila! J'utilise des formulaires HTML
et dans mon serveur WEB (bâti en VB bien sûr), je dois interpréter les
résultats retournés. Ca me cause un ennui car si l'utilisateur saisit des
caractères accentués, ca me retourne un charabiat du genre S%E9bastien si
l'utilisateur a saisit Sébastien.

J'imagine qu'avec un replace(l$,"%E9","é") ca résoudrait mon problème pour
le é, mais quelqu'un a-t-il quelque chose de déja fait pour tous les
caractères accentués ou une méthode meilleure??

Merci a l'avance,

S%E9bastien :o)

1 réponse

Avatar
François Picalausa
Bonjour/soir,

JE ne connais pas bien les solutions proposées en VB mais en ASP, on peut
utiliser la fonction URLDecode de l'objet Server.
Sinon, pour effectuer la correction "manuellement", voici une manière de
procéder:
'%E9 = &h E9 = 233
'é = Chr(233)

Private Sub Command1_Click()
MsgBox URLDecode("%E9%20%65")
End Sub

Private Function URLDecode(URL As String) As String
Dim i As Integer

URLDecode = URL

For i = 0 To 255
URLDecode = Replace(URLDecode, "%" & Replace(Format$(Hex(i), "@@"),
" ", "0"), Chr$(i))
Next i
End Function

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"Ze Québécois" a écrit dans le message de
news:hcVZb.18732$
9Bonjour!

Voici mon problème, je sais pas si quelqu'un a déja bâti quelque
chose la dessus ca m'éviterait de le faire... Voila! J'utilise des
formulaires HTML et dans mon serveur WEB (bâti en VB bien sûr), je
dois interpréter les résultats retournés. Ca me cause un ennui car si
l'utilisateur saisit des caractères accentués, ca me retourne un
charabiat du genre S%E9bastien si l'utilisateur a saisit Sébastien.

J'imagine qu'avec un replace(l$,"%E9","é") ca résoudrait mon problème
pour le é, mais quelqu'un a-t-il quelque chose de déja fait pour tous
les caractères accentués ou une méthode meilleure??

Merci a l'avance,

S%E9bastien :o)