DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des chaînes
  • Caractères admissibles dans une URL encodée
  • Cas particuliers
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Encode une URL avec uniquement un sous-ensemble de caractères ASCII. Cette fonction permet de remplacer les caractères interdits dans une URL (accents, espaces, etc.). Une URL encodée peut être décodée grâce à la fonction URLDécode.
Remarque : La validité syntaxique de l'URL n'est pas vérifiée.
Exemple
// Encode une URL
URLEncodée = URLEncode("http://mon site/ma page")
// URLEncodée contient maintenant http://mon%20site/ma%20page 
// Les deux espaces ont été transformés en %20
MonURL est une chaîne Unicode = "http://mon site/ma page"
MonURLEncodée est une chaîne
// Encode une URL
MonURLEncodée = URLEncode(MonURL, encodeURLDepuisUnicode)
// Encodage d'une URL avec un paramètre de type URL
Info(URLEncode("https://www.google.fr/?", encodeURLDepuisAnsi) + ...
URLEncode(URLEncode("https://www.google.fr/?é", encodeURLDepuisAnsi), encodeURLParamètre))
Syntaxe
<Résultat> = URLEncode(<URL> [, <Format d'encodage>])
<Résultat> : Chaîne de caractères
Chaîne de caractères contenant l'URL encodée. Les caractères non acceptables sont transformés en %xx où xx est la valeur hexadécimale de ce caractère.
Cette fonction ne retourne pas de code d'erreur car toutes les chaînes de caractères peuvent être encodées.
<URL> : Chaîne de caractères
URL à encoder (au format ANSI).
<Format d'encodage> : Constante optionnelle de type Entier
Format d'encodage de l'URL :
encodeURLDepuisAnsiFormat URL. Le texte encodé comporte uniquement des caractères autorisés dans une URL. Le texte à encoder est une chaîne ANSI.
encodeURLDepuisUTF8
(Valeur par défaut)
Format URL. Le texte encodé comporte uniquement des caractères autorisés dans une URL. Le texte à encoder est une chaîne UTF-8.
encodeURLParamètreFormat URL. Les caractères réservés d'une URL sont encodés pour pouvoir passer une URL en paramètre d'une URL.
Attention : Il faut auparavant avoir encodé l'URL passée en paramètre avec une des constantes encodeURLDepuisAnsi ou encodeURLDepuisUTF8.

AndroidWidget AndroidJavaPHP Ce paramètre n'est pas disponible.
Remarques

Caractères admissibles dans une URL encodée

La liste des caractères admissibles dans une URL encodée est la suivante :
;/?:@
&=+$,
-_.!~
*'(|)
%#les chiffresles lettres (majuscules et minuscules)

Selon les options, certains de ces caractères pourront être encodés par la fonction.

Cas particuliers

  • L'encodage d'une URL vide (chaîne vide) est une URL vide.
  • Cas particulier : le signe % et le signe +
    • Le signe % étant utilisé pour l'encodage décimal, ce caractère est lui-même encodé en décimal.
    • Le signe "+" qui est une alternative à %20 pour encoder un espace est lui-même encodé (pour éviter un mauvais décodage).
Composante : wd300std.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Encodage d'une structure JSON à passer en paramètre d'une URL
Les champ SAI_Nom et SAI_Prenom peuvent contenir de caractères interdits dans les URL. Pour s'en sortir :

sMyBufferJson est une chaîne UNICODE
vMyJSON est un Variant

sMyURLEncode est une chaîne ANSI
vMyJSON = Null
vMyJSON.Create_from = "MOBILE"
vMyJSON.Cible = gsMyCibleCreate_User
vMyJSON.Email = SAI_NewEmail
vMyJSON.Organisme = tabOrganisme[1]
vMyJSON.Nom = SAI_Nom
vMyJSON.Prenom = SAI_Prenom
vMyJSON.Telephone = SAI_Téléphone
sMyBufferJson=VariantVersJSON(vMyJSON)

sMyURLEncode= "https://monDomaine.fr/maPage.php?JSON="+Encode(Encode(sMyBufferJson, encodeURLDepuisAnsi), encodeURLParamètre)
Pascal BOULESTEIX
02 mar. 2021
Equivalance URLencode PHP
Pour avoir une équivalence à la fonction PHP urlencode(), utiliser en plus la fonction encode(...,encodeURLParamètre) pour codé les caractères '?' et '&' :

URL = "http:\mon.url?pwd=" + Encode(URLEncode(SAI_Mot_de_passe),encodeURLParamètre))
Patrick MOIRE
17 fév. 2020

Dernière modification : 28/08/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale