Heim  >  Artikel  >  Java  >  Was tun, wenn Java-Objekte verstümmelt sind?

Was tun, wenn Java-Objekte verstümmelt sind?

coldplay.xixi
coldplay.xixiOriginal
2020-08-17 11:41:102056Durchsuche

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.

Was tun, wenn Java-Objekte verstümmelt sind?

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(&quot;UTF-8&quot;);.

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!

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