Heim > Java > JavaBase > Lösung für verstümmelte URL in Java

Lösung für verstümmelte URL in Java

Freigeben: 2019-12-03 10:29:28
Original
2567 Leute haben es durchsucht

Lösung für verstümmelte URL in Java

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”))。
Nach dem Login kopieren

Diese beiden Transkodierungsmethoden sind sehr nützlich, daher wird es jedem dringend empfohlen, sie zu verwenden.

Spezifische Verwendung:

1. Client:

url=encodeURI(url);
Nach dem Login kopieren

Server:

String linename = new String(request.getParameter(“name”).getBytes(“ISO-8859-1”),“UTF-8”);
Nach dem Login kopieren

2. Client:

url=encodeURI(encodeURI(url)); //用了2次encodeURI
Nach dem Login kopieren

Server:

String linename = request.getParameter(name);
Nach dem Login kopieren

Java: Zeichendekodierung

linename = java.net.URLDecoder.decode(linename , “UTF-8”);
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage