|
URLEncode n'encode pas tous les caractères spéciaux |
Iniciado por Cecile D, 25,sep. 2023 14:22 - 6 respuestas |
| |
| | | |
|
| |
Miembro registrado 5 mensajes |
|
Publicado el 25,septiembre 2023 - 14:22 |
Bonjour,
J'utilise la fonction URLEncode pour encoder une chaîne. Mais cette fonction n'encode pas tous les caractères spéciaux contenus dans la chaîne, comme le @ et le : notamment, qui devraient être remplacés respectivement pas %40 et %3A. Pour l'espace en revanche, j'ai bien un %20.
J'ai essayé différents type d'encodage, mais rien n'y fait. Auriez-vous la solution à ce problème ?
Merci d'avance
-- Cecile D. |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 310 mensajes |
|
Publicado el 25,septiembre 2023 - 14:47 |
Bonjour Pour un mode stricte, il faut utiliser la fonction avec le paramètre encodeURLParameter
Bon dev ! |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 5 mensajes |
|
Publicado el 25,septiembre 2023 - 15:13 |
Bonjour Samir,
Merci pour cette réponse rapide. Déjà testé avec encodeURLParamètre, mais pour le coup, il est trop strict! L'API de mon client n'en demande pas tant.
Exemple pour une date/heure : 2023-09-25 09:29:35, l'API attend ceci 2023-09-25+09%3A29%3A35 URLEncode("2023-09-25 09:29:35", encodeURLParamètre) retournera 2023%2D09%2D25 09%3A29%3A35
La solution serait donc de remplacer les caractères spéciaux un par un... ?
-- Cecile D. |
| |
| |
| | | |
|
| | |
| |
Publicado el 26,septiembre 2023 - 09:18 |
bonjour
seule solution : tu t'écris ta propre fonction dans laquelle tu encodes les caractères souhaités. pas compliquée à écrire. et totalement à ta main.
éventuellement tu peux rajouter un paramètre de type "pas stricte", "stricte", "très stricte".
cordialement titou44 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 5 mensajes |
|
Publicado el 03,octubre 2023 - 16:39 |
Merci titou44, j'ai effectivement encodé les caractères souhaités un à un.
-- Cecile D. |
| |
| |
| | | |
|
| | |
| |
Publicado el 03,octubre 2023 - 21:53 |
bienvenue parmi ceux/celles qui se font leur propre collection de fonctions 'système' maison.
titou44 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 235 mensajes |
|
Publicado el 06,noviembre 2023 - 17:48 |
Bonjour à vous
J'ai je pense un problème similaire avec URLEncode(sURL,toutes options comprise)
qui encode certes en UTF8 mais pas le même que Javascript
Pour réglé le problème j'utilise le code suivant:
sURL = ChaîneVersUTF8(sURL) reqCreationVersion.URL = URLEncode(sURL,encodeURLDepuisUTF8)
Grâce à cela je n'est plus aucun problème avec les accents, les espaces et les caractères suivant : @ { ~ [ ( - | ` _ ç ^ / * - +
Attention & et # sont bien encodé mais réservé dans le traitement du post.
Note : en windev vous pouvez faire l'opération inverse pour retrouver votre chaine
sURL = URLDecode(reqCreationVersion.URL,encodeURLDepuisUTF8) sURL = UTF8VersChaîne(sURL)
En espérant que cela vous aidera. Cordialement |
| |
| |
| | | |
|
| | | | |
| | |
|