web-dev-qa-db-fra.com

Codage d'URL - Problème d'esperluette

Un problème d'encodage des caractères me cause des problèmes avec un formulaire de recherche sur mon site Web. Une des valeurs de champ possibles contient une esperluette. Lorsque cette option est sélectionnée et qu'une recherche est soumise, l'esperluette est codée en: %2526

Lors de l'utilisation des liens de pagination au bas de la page et de la navigation vers la deuxième page de la liste des résultats, l'esperluette est codée comme suit: %26

Enfin ... pour tenter de naviguer vers la 3ème page de la liste, l'esperluette est remplacée par: & Ceci casse le formulaire car elle suppose qu'il existe une variable qui n'existe pas réellement. 

Pourquoi l'encodage change-t-il? Comment puis-je réparer cela? Merci de votre aide!

36
Vecta

On dirait que le champ est encodé deux fois. Le premier passage donnera & changé en% 26, puis le codage en url% 26 aura pour résultat% 2526, puisque le codage pour% lui-même est% 25.

64
Andrew Lee

Je suppose que vous naviguez à l'aide de liens affichés sur votre page Web.

La réponse est dans la façon dont vous générez l'URL dans la balise href de ce lien. Vous (probablement) ne recodifiez pas l'esperluette dans l'URL lorsque vous définissez la valeur de cet attribut href.

0
Wesley Long

Si vous souhaitez utiliser Andaman & Nicobar dans les API Web.

Vous pouvez utiliser au lieu de & vous pouvez utiliser% 26 et tout sera écrit comme ci-dessous.

Andaman +% 26 + Nicobar

0
Pankaj Lahoti