Je reçois l'avertissement suivant lors de l'utilisation de Java.net.URLEncoder.encode
:
avertissement: [deprecation] encoder (Java.lang.String) dans Java.net.URLEncoder est déconseillé
Que devrais-je utiliser à la place?
Utilisez l'autre méthode encode
dans RLEncoder :
URLEncoder.encode(String, String)
Le premier paramètre est le texte à encoder; le second est le nom du codage de caractères à utiliser (par exemple, UTF-8
). Par exemple:
System.out.println(
URLEncoder.encode(
"urlParameterString",
Java.nio.charset.StandardCharsets.UTF_8.toString()
)
);
Tu devrais utiliser:
URLEncoder.encode("NAME", "UTF-8");
Utilisez la classe URLEncoder :
URLEncoder.encode(String s, String enc)
Où :
s - Chaîne à traduire.
enc - Nom d'un encodage de caractères ) pris en charge .
Jeux de caractères standard:
US-ASCII ASCII à 7 bits, également appelé ISO646-US, également appelé bloc Latin de base du jeu de caractères Unicode ISO-8859-1 Alphabet latin ISO n ° 1, également appelé ISO- LATIN-1
UTF-8 Format de transformation UCS huit bits
UTF-16BE Format de transformation UCS à 16 bits, ordre des octets big-endian
UTF-16LE Format de transformation UCS à 16 bits, ordre d'octet en petit boutien
UTF-16 Format de transformation UCS à 16 bits, ordre d'octet identifié par une marque d'ordre d'octet facultative.
Exemple:
import Java.net.URLEncoder;
String stringEncoded = URLEncoder.encode(
"This text must be encoded! aeiou áéíóú ñ, peace!", "UTF-8");
Le premier paramètre est la chaîne à encoder; le second est le nom du codage de caractères à utiliser (par exemple, UTF-8).
En tant que référence supplémentaire pour les autres réponses, au lieu d'utiliser "UTF-8", vous pouvez utiliser:
HTTP.UTF_8
qui est inclus depuis Java 4 dans la bibliothèque org.Apache.http.protocol, également inclus depuis Android API 1.