Ich erhalte die folgende Warnung bei der Verwendung von Java.net.URLEncoder.encode
:
warnung: [veraltete] Codierung (Java.lang.String) in Java.net.URLEncoder wurde verworfen
Was soll ich stattdessen verwenden?
Verwenden Sie die andere encode
-Methode in RLEncoder :
URLEncoder.encode(String, String)
Der erste Parameter ist der zu codierende Text. der zweite ist der Name der zu verwendenden Zeichenkodierung (z. B. UTF-8
). Beispielsweise:
System.out.println(
URLEncoder.encode(
"urlParameterString",
Java.nio.charset.StandardCharsets.UTF_8.toString()
)
);
Du solltest benutzen:
URLEncoder.encode("NAME", "UTF-8");
Verwenden Sie die Klasse URLEncoder :
URLEncoder.encode(String s, String enc)
Woher :
s - Zu übersetzender String.
enc - Der Name einer unterstützten Zeichenkodierung .
Standard-Zeichensätze:
US-ASCII Sieben-Bit-ASCII, auch bekannt als ISO646-US, der lateinische Basisblock des Unicode-Zeichensatzes ISO-8859-1 ISO-lateinisches Alphabet Nr 1, auch bekannt als ISO-LATIN-1
UTF-8 Acht-Bit-UCS-Transformationsformat
UTF-16BE 16-Bit-UCS-Transformationsformat, Big-Endian-Bytereihenfolge
UTF-16LE 16-Bit-UCS-Transformationsformat, Little-Endian-Bytereihenfolge
UTF-16 16-Bit-UCS-Transformationsformat, Bytereihenfolge, gekennzeichnet durch eine optionale Bytereihenfolge
Beispiel:
import Java.net.URLEncoder;
String stringEncoded = URLEncoder.encode(
"This text must be encoded! aeiou áéíóú ñ, peace!", "UTF-8");
Der erste Parameter ist der zu codierende String. Der zweite ist der Name der zu verwendenden Zeichencodierung (z. B. UTF-8).
Als zusätzliche Referenz für die anderen Antworten können Sie anstelle von "UTF-8" Folgendes verwenden:
HTTP.UTF_8
welches seit Java 4 als Teil der org.Apache.http.protocol Bibliothek enthalten ist, welches auch seit Android API 1 enthalten ist.