URLEncoder("&") ne fonctionne pas

Sujets variés concernant le développement en PureBasic
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

URLEncoder("&") ne fonctionne pas

Message par falsam »

URLEncoder("&") ne fonctionne pas

Debug URLEncoder("&") devrait donner %26 et non pas &

Je n'arrive à savoir si ReplaceString(URLEncoder(param), "&", "%26") est une solution correcte.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Geo Trouvpatou
Messages : 471
Inscription : dim. 23/déc./2007 18:10

Re: URLEncoder("&") ne fonctionne pas

Message par Geo Trouvpatou »

Salut Falsam.

Pour un espace dans une URL, c'est remplacé effectivement par %20 et d'ailleurs c'est même fait automatiquement.

Par contre pour & soit tu le mets tel quel et ça fonctionne mais comme le validateur n'aime pas ça, il vaut mieux mettre &.

Je me dis qu'à ta place tu devrais parser & et c'est tout, vu que c'est quelque chose qui est mis volontairement par des gens qui font du php (ou autre langage) et qui de toute façon mettront les 2 solutions citées ci-dessus.

Comme écrit dans la doc, Fred a fait en sorte que seuls les caractères pouvant poser problèmes (caractères accentués etc) dans une URL ont été traités.

Je viens de faire un petit essai en JScript, et même là, seuls les caractères génants sont encodés. Le & reste bien & avec :

Code : Tout sélectionner

<script type="text/javascript">
<!--
document.write(encodeURI("&"))
-->
</script>
Bye.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: URLEncoder("&") ne fonctionne pas

Message par falsam »

En php urlencode('&') donne bien %26.

Mon problème est que j'envoie depuis un programme en purebasic des url encoder vers des script en php.

Exemple pour un envoi de deux variables.
monscript.php?&variable1=valeur1&variable2=valeur2

tant que les variables valeur1 et valeur2 ne contienent pas le caractére & tout va bien.
Par contre si une de mes variable contient un lien intégrant le caractére "&" alors c'est le drame.

je crois que je vais me débrouiller avec un ReplaceString.

Merci pour ta réponse.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Répondre