Lösungen für verstümmelte Java-Objekte: 1. Beim Herunterladen verstümmelter Dateien müssen der Download-Antwortheader und der Dateiname vor der HTTP-Übertragung mit URLEncoding codiert werden. 2. Für verstümmelte Dateien zwischen Java und der Datenbank verwenden Sie Unicode direkt mit der Datenbank. Die Interaktion kann in der URL des Treibers angegeben werden.
Java-Objekt Lösung für verstümmelte Codes:
Verstümmelte Codes zwischen JSP- und Seitenparametern
Geben Sie zwangsweise an, wie die Codierung der Anfrage abgerufen werden soll:
request.setCharacterEncoding("UTF-8");
Wenn jsp-verstümmelte Zeichen auf der Seite ausgegeben werden:
response.setCharacterEncoding("UTF-8");
Oder konfigurieren Sie den Servlet-Filterfilter in web.xml (nur gültig für den POST-Modus, ungültig für den GET-Modus):
<filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>net.vschool.web.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
Ändern Sie die Tomact-Konfiguration Datei, server.xml
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" URIEncoding="UTF-8">
URL-Verarbeitung:
<a href="TestAction.do?name=<%=java.net.URLEncoder.encode("你好","UTF-8")%>" ></a>
Verstümmelter Datei-Download:
Der Schlüssel ist der Antwortheader beim Herunterladen; der Dateiname muss mit codiert werden URLEncoding vor HTTP-Übertragung.
response.setHeader("Content-disposition", "attachment;filename="+ URLEncoder.encode(fileName,"utf-8"));
Methode verstümmelt abrufen:
String args = new String(strCn.getBytes("ISO-8859-1"),"UTF-8");
Methode verstümmelt posten:
Nur request.setCharacterEncoding("UTF-8");
.
Verstümmelte Zeichen zwischen Java und Datenbank
Verwenden Sie Unicode direkt, um mit der Datenbank zu interagieren, die in der URL des Treibers angegeben werden kann, z. B. MySQL-Treiber:
jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=utf-8
Verwandte Lernempfehlungen: Java Basic Tutorial
Das obige ist der detaillierte Inhalt vonWas tun, wenn Java-Objekte verstümmelt sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!