Maison  >  Article  >  Java  >  Pourquoi URLEncoder remplace-t-il les espaces par « » dans les URL des formulaires HTML, et comment puis-je obtenir « » à la place ?

Pourquoi URLEncoder remplace-t-il les espaces par « » dans les URL des formulaires HTML, et comment puis-je obtenir « » à la place ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-11 10:45:03248parcourir

Why does URLEncoder replace spaces with ' ' in HTML form URLs, and how can I get

Traitement par URLEncoder des caractères d'espacement dans les URL de formulaire HTML

Dans URLEncoding, conversion d'une chaîne en "application/x-www-form- urlencoded", l'URLEncoder prévoit de remplacer les caractères d'espacement par des signes « » conformément aux spécifications HTML. Ce comportement suit les règles d'encodage des formulaires HTML, où les noms et les valeurs des contrôles doivent être échappés et les espaces remplacés par « ».

Le problème survient lorsque le résultat attendu est " » pour les caractères d'espace au lieu du comportement par défaut de " ". Pour résoudre cette différence, il faut remplacer manuellement le signe « » par « » après l'URLEncoding initial. Par exemple :

System.out.println(java.net.URLEncoder.encode("Hello World", "UTF-8").replace("+", "%20"));

Cela affichera le "Hello World" attendu avec des caractères d'espace correctement codés comme " ".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn