Lösung für verstümmelte URLs in Java: (Empfohlen: Java-Video-Tutorial)
1. Transkodieren Sie die Zeichenfolge: newString(“xxxxx ". getBytes("iso-8859-1"),"utf-8")
Diese Transkodierungsmethode hat große Nachteile, da sie den angegebenen Zeichensatz verwendet, um diesen String in eine Bytefolge zu kodieren, und das Ergebnis in einem speichert erstellt ein neues Byte-Array und dekodiert dann das resultierende Byte-Array mithilfe der angegebenen Zeichenkodierung, um eine neue Zeichenfolge zu erstellen.
In diesem Fall kann es vorkommen, dass ein chinesisches Schriftzeichen nicht vollständig dekodiert werden kann. Auf diese Weise werden die vorherigen Wörter normal angezeigt, das letzte Wort kann jedoch verstümmelt sein.
Diese Methode wird daher nicht empfohlen.
2. Transkodieren Sie, bevor Sie die Parameter übergeben, und transkodieren Sie sie dann zurück, nachdem Sie die Parameter empfangen haben.
Es gibt zwei Möglichkeiten, dies zu tun:
Die erste:
Bevor Sie Parameter übergeben: Verwenden Sie java.net.URLEncoder.encode("xxxx",utf- 8“), wandeln Sie Chinesisch in Hexadezimalzeichen um.
Nach Erhalt der Parameter: Verwenden Sie java.net.URLDncoder.decode("xxxx", "utf-8"), um hexadezimale Zeichen in Chinesisch umzuwandeln.
Bei dieser Methode ist zu beachten, dass nach der Verwendung der Codierung Sonderzeichen angezeigt werden. Zu diesem Zeitpunkt müssen Sie die Sonderzeichen durch die entsprechenden Hexadezimalzeichen ersetzen. Denn auch Sonderzeichen werden verstümmelt, wenn sie als Parameter im URL-Pfad übergeben werden.
Zweiter Typ:
Vor der Parameterübergabe: encodeURI(“xxxx”).
Nach Erhalt der Parameter: Verwenden Sie java.net.URLDncoder.decode("xxxx", "utf-8"), um hexadezimale Zeichen in Chinesisch umzuwandeln.
Bei dieser Methode ist zu beachten, dass nach der Verwendung von encodeURI zum Transkodieren Sonderzeichen angezeigt werden. Zu diesem Zeitpunkt müssen die Sonderzeichen transkodiert werden. Verwenden Sie daher encodeURI zweimal, d. h.
encodeURI(encodeURI(“xxxx”))。
Diese beiden Transkodierungsmethoden sind sehr nützlich, daher wird es jedem dringend empfohlen, sie zu verwenden.
Spezifische Verwendung:
1. Client:
url=encodeURI(url);
Server:
String linename = new String(request.getParameter(“name”).getBytes(“ISO-8859-1”),“UTF-8”);
2. Client:
url=encodeURI(encodeURI(url)); //用了2次encodeURI
Server:
String linename = request.getParameter(name);
Java: Zeichendekodierung
linename = java.net.URLDecoder.decode(linename , “UTF-8”);
Für weitere Java-Kenntnisse beachten Sie bitte die Spalte Java Basic Tutorial.
Das obige ist der detaillierte Inhalt vonLösung für verstümmelte URL in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!