Page 1 sur 1

Changer les caractere spécial par leur équivalant &___

MessagePublié: 08 Sep 2010 à 13:14
par LSong
je suis a la recherche de la fonction qui pourrais me changer les caracteres accentué etc par leur équivalant &--- la sur le coup je seche ...

quelqu'un aurait 30s pour me rafraichir la mémoire ?

Voila je suis pas reveille j'ai encoder mon mail en
ENC_IDENTITY_7BIT

du coup les ê € etc sont passé a la trappe
mais en codant en ENC_IDENTITY_8BIT
ca marche nettement mieux ...

circuler il n'y a plus rien à voir

MessagePublié: 08 Sep 2010 à 13:31
par Michael DELIQUE
salut

fonction sous quelle langage ?

MessagePublié: 08 Sep 2010 à 13:45
par mike76

MessagePublié: 08 Sep 2010 à 13:49
par Michael DELIQUE
re

un truc dans ce genre ?

Code : Tout sélectionner
Function WebEscapeEN(chaine As String) As String
   '   Equivalent de la fonction escape en Javascript mais pour l'entity number
   '   Code une chaîne pour permettre de la passer dans une URL.
   '    converti les caratere spéciaux en code hexadecimale
   'exemple > en >
   
   'Déclaration des variables
   Dim caractere As String
   Dim i As Integer
   
   On Error Goto ErreurHandle
   
   WebEscapeEN = ""
   
   For i = 1 To Len(chaine)
      caractere = Mid(chaine, i , 1)
      'détermine si c'est un caratere spécial
      If Instr("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-_", caractere ) > 0 Then
         WebEscapeEN= WebEscapeEN + caractere
      Else
         WebEscapeEN = WebEscapeEN +"&#"+Cstr(Asc(caractere))+";"
      End If
   Next
   Exit Function
ErreurHandle:
   Msgbox "("+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"   
   WebEscapeEN = ""
   Resume Next   
   Exit Function
End Function

MessagePublié: 08 Sep 2010 à 13:59
par nemrod93
Bah la gestion de caractères, c'est un vieux problème. Entre les navigateurs, le javascript, le html, le php etc etc etc, les systèmes de fichiers et d'exploitation... A croire qu'on nous veut du mal :lol: :lol: :lol:
Mais la fonction de Mickaël est cool. J'ai un truc approchant mais qui utilise le code ASCII différemment car de 0 à 127 y'a pas d'accent donc je calcule le asc(x) et si > à 127, j'applique
&#"+Cstr(Asc(caractere))
Enfin j'espère que c'est clair :roll:

MessagePublié: 08 Sep 2010 à 14:25
par mike76

MessagePublié: 08 Sep 2010 à 14:30
par Michael DELIQUE
ouaip mais ça oblige a faire un evalute

MessagePublié: 08 Sep 2010 à 14:33
par nemrod93
Oui mais j'ai rencontré de temps en temps des pbs avec @UrlEncode qui étaient dûs aux différentes versions des navigateurs. Donc maintenant je préfère coder comme ça et ça passe. Enfin jusqu'à présent :wink:

MessagePublié: 08 Sep 2010 à 14:37
par LSong
merci a tous je connaissais deja @urlEncode et @urldecode
mais j'étais surpris qu'il n'y avait pas d'équivalant en LS

donc il n'y a pas déquivalant ...

MessagePublié: 08 Sep 2010 à 14:48
par mike76
à mon connaissance non, c'est pour cela que j'avais fait un evaluate dans mon post à l'époque