1. Bei der Verwendung von AJAX, um Daten aus der Vordergrundseite auf den Hintergrundcontroller zu übertragen, erscheint der chinesische verstümmelte Code (Fragemarke ???).
Ich habe schon einmal online nach verschiedenen Lösungen gesucht, aber sie haben nicht funktioniert. Schließlich stellte ich fest, dass es ein Problem war, dass der Tomcat -Server Daten erhielt.
Lösung:
Methode 1: Transkodieren Sie die Parameter, wenn der Controller die Parameter empfängt
@Responsebody@requestmapping (value = "/getJSonDatAByCityName", produziert = "application/json") public String getJsonByName (httpServletRequest -Anforderung, httpServletResponse,@Requestparam String City_Name) löst servletException, ioException { //response.setContentType("Text/html;CharSet=UTF-8 "); //request.setcharactercoding("utf-8")//Solve Die Post-Hubled Problem System.out.println (Request.GetCharactercoding ()); City_Name = new String (City_Name.getBytes ("ISO-8859-1"), "UTF-8"); System.out.println ("City_Name:"+City_Name);}Methode 2:
Konfigurieren Sie die Datei service.xml im Tomcat -Verzeichnis
tomcat7/conf/server.xml
Fügen Sie das Codierungsattribut von URiencoding = "UTF-8" zu dieser Codezeile hinzu
<Connector port = "8080" Protocol = "http /1.1" ConnectionTimeout = "20000" redirectPort = "8443" uriencoding = "utf-8" />
Ursache Analyse:
Tatsächlich ist der Grund für das verstümmelte Problem, dass die empfangene Anforderung mit ISO-8859-1, was zu dem verstümmelten Problem in Chinesisch führt, mit ISO-8859-1 transkodiert wird. Solange der verstümmelte Code mit UTF-8 korrekt transkodiert werden kann, kann das verstümmelte Problem gelöst werden.
2. Gewöhnliche Datenübertragung, von der JSP -Seite zum Hintergrundcontroller, Lösung für das Problem des Streits auf Chinesisch
(1) Überprüfen Sie zunächst, ob das Codierungsformat der JSP-Seite UTF-8 ist
(2) Festlegen der chinesischen Filterung
<!-- Chinese encoding--> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
(3) Stellen Sie die JSON -Datenkonvertierung in der SpringMVC -Konfigurationsdatei ein
<MVC: Annotationsgetrieben> <MVC: Message-Converters Register-Defaults = "True"> <!-Start Spring MVC Annotationsfunktion, Füllen Sie die Zuordnung von Anforderungen und Anmerkungen pojo zu Mapping Annotationsanforderungszuordnung ab, die standardmäßig mit Kennzeichnungen von Gügelkapitionen ISO-88859-1 vermieden werden. Dies ist auf UTF-8 eingestellt-> <bean> <Eigenschaft name = "unterstütztMediTypes" value = "text/html; charset = utf-8"/> </bean> <!-Start JSON-Formatkonfiguration, automatisch das Format mit JSON-Format, keine anderen Klassen erforderlich-> <Bean-Jacksonmessages ". value = "application/json; charSet = utf-8"/> </bean> </mvc: Nachrichtenkonverter> </mvc: Annotationsgetrieben>
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.