Maison >Java >javaDidacticiel >Pourquoi URLEncoder code-t-il les espaces comme « » au lieu de « » ?
Lorsque vous essayez d'encoder une chaîne à l'aide d'URLEncoder, vous pouvez rencontrer un comportement inattendu où les espaces sont convertis en symboles « » au lieu de le code hexadécimal « » attendu.
La classe URLEncoder adhère aux spécifications HTML pour l'encodage des URL dans les formulaires HTML. Selon ces spécifications, les espaces doivent être remplacés par des symboles « » pour les paramètres au format MIME application/x-www-form-urlencoded.
Pour obtenir l'encodage souhaité lorsque les espaces sont convertis à ' ', vous pouvez effectuer les étapes suivantes :
String encodedString = java.net.URLEncoder.encode("Hello World", "UTF-8"); encodedString = encodedString.replace("+", "%20");
Cela remplacera tous les symboles ' ' par ' , ce qui entraînera un encodage correct selon vos attentes.
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!