Différences entre URLEncoder et l'encodage d'URL de formulaire HTML
En essayant d'encoder une chaîne contenant un caractère d'espace à l'aide de java.net.URLEncoder, vous peut remarquer un résultat inattendu. La sortie ne suit pas le format « Hello World » attendu, mais renvoie plutôt « Hello World ». Cela découle de la nuance entre le comportement d'URLEncoder et l'encodage d'URL de formulaire HTML.
L'URLEncoder fonctionne selon la spécification HTML pour l'encodage d'URL dans des formulaires HTML. Conformément à la spécification HTML, les noms et valeurs de contrôle doivent échapper aux caractères d'espace, non pas avec " , " mais avec le symbole " ".
Cependant, votre exigence peut être de coder un caractère d'espace spécifiquement comme " ." Pour y parvenir, une simple opération de remplacement peut être effectuée sur la chaîne encodée :
String encodedString = java.net.URLEncoder.encode("Hello World", "UTF-8"); String correctedString = encodedString.replace("+", "%20");
Cette correction remplace le symbole " " par " ", ce qui donne le format "Hello World" souhaité.
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!