Grund:
Die URL wird mit ISO-8859-1
kodiert, wenn die HTTP-Anfrage übertragen wird, und der Server empfängt ihn. Standardmäßig wird der Bytestrom mithilfe der ISO-8859-1
-Kodierung in einen Zeichenstrom dekodiert (was zu verstümmelten chinesischen Zeichen führt).
Methode 1:
Wir müssen zuerst ISO verwenden, um die Zeichenfolge von request.getParameter
(“参数名”)
zu erhalten -8859-1 kodiert es in einen Bytestrom, der dann mit UTF-8 in einen Zeichenstrom dekodiert wird.
String str = new String(request.getParameter("参数名").getBytes("iso-8859-1"), "utf-8");
Hiermit soll das verstümmelte Problem durch Transkodierung gelöst werden.
Online-Lernvideo-Tutorials teilen: Java-Video
Methode 2:
Wir können den URL-Codierungssatz (URIEncoding) auch über die Tomcat-Konfigurationsdatei festlegen, um die Codierung festzulegen. Diese Methode ist ebenfalls ein für alle Mal.
Ändern Sie die Datei server.xml im Tomcat/conf-Verzeichnis
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8444" useBodyEncodingForURI="true" URIEncoding="UTF-8"/>
Konzentrieren Sie sich auf die beiden Attribute userBodyEncodingForURI und URIEncoding.
useBodyEncodingForURI-Parameter
gibt an, ob der Parameter request.setCharacterEncoding verwendet werden soll, um die von der URL übermittelten Daten und die von übermittelten Daten neu zu kodieren GET-Methode im Formular. Standardmäßig ist dieser Parameter falsch.
URIEncoding-Parameter
Gibt die Kodierung für die einheitliche Neukodierung (Dekodierung) aller GET-Anfrageanforderungen an.
Der Unterschied zwischen URIEncoding und useBodyEncodingForURI
URIEncoding ist eine einheitliche Neukodierung aller GET-Anfragedaten.
useBodyEncodingForURI kodiert die Daten basierend auf dem request.setCharacterEncoding-Parameter der Seite neu, die auf die Anfrage antwortet. Verschiedene Seiten können unterschiedliche Neukodierungscodes haben.
Empfohlene verwandte Artikel und Tutorials: Java-Einstiegsprogramm
Das obige ist der detaillierte Inhalt vonWenn die URL chinesische Parameter in Java übergibt, werden verstümmelte Zeichen angezeigt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!