Heim  >  Artikel  >  Java  >  Was tun, wenn die Java-URL chinesisch verstümmelt ist?

Was tun, wenn die Java-URL chinesisch verstümmelt ist?

angryTom
angryTomOriginal
2019-11-15 09:46:183373Durchsuche

Was tun, wenn die Java-URL chinesisch verstümmelt ist?

url Chinesisch verstümmeltes Java

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 Bytesequenz zu kodieren und die zu speichern Ergebnis in ein neues Byte-Array und dekodiert dann das resultierende Byte-Array mit der angegebenen Zeichenkodierung, um eine neue Zeichenfolge zu erstellen. In diesem Fall kann es vorkommen, dass nicht alle chinesischen Schriftzeichen dekodiert werden können. 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 Methoden:

Die erste:

Bevor Sie Parameter übergeben: Verwenden Sie java.net. encode("xxxx","utf-8"), chinesische Zeichen in Hexadezimalzeichen umwandeln.

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 : 字符解码
linename = java.net.URLDecoder.decode(linename , “UTF-8”);

php Chinesische Website, eine große Anzahl kostenloser Java-Einführungs-Tutorials, willkommen zum Online-Lernen!

Das obige ist der detaillierte Inhalt vonWas tun, wenn die Java-URL chinesisch verstümmelt ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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