Heim > Artikel > Web-Frontend > Umgang mit verstümmelten chinesischen Zeichen beim Senden von Ajax in springmvc
Dieses Mal erkläre ich Ihnen, wie Sie beim Senden von Ajax in SpringMVC mit verstümmelten chinesischen Zeichen umgehen schau doch einmal vorbei. Verwenden Sie spingmvc, um eine Anfrage über Ajax in JS zu senden und die Daten im JSON-Format zurückzugeben. Das chinesische Format ist korrekt, wenn es aus der Datenbank entnommen wird, aber ist es falsch, wenn es auf der Seite angezeigt wird? ? Nach einiger Recherche gibt es mehrere Lösungen.
Ich verwende sping-web-3.2.2, jar
Methode 1: In @RequestMapping Add erzeugt = "text/html;charset=UTF-8"
@RequestMapping(value = "/configrole", method = RequestMethod.GET, produces = "text/html;charset=UTF-8") public @ResponseBody String configrole() { ...... }
Methode 2: Weil es standardmäßig im StringHttpMessageConverter festgelegt ist Der
Zeichensatz ist ISO-8859-1 , also habe ich den Quellcode erhalten, ihn in UTF-8 geändert und ihn in spring-web-3.2.2.jar
public class StringHttpMessageConverter extends AbstractHttpMessageConverter<String> { public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8"); .......... }Methode drei:
Ändern Sie die Parameter der Konstruktormethode
von org.springframework.http.MediaType und fügen Sie sie in applicationContext hinzu. mvc.xml-KonfigurationXml-Codepublic MediaType(String type, String subtype, Charset charset) { super(type, subtype, charset); }
<bean id="stringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <bean class="org.springframework.http.MediaType"> <constructor-arg value="text" /> <constructor-arg value="plain" /> <constructor-arg value="UTF-8" /> </bean> </list> </property> </bean>Methode 4
org.springframework Die .http.converter.StringHttpMessageConverter-Klasse ist eine Klasse, die Anforderungen oder entsprechende Strings
verarbeitet. Der Standardzeichensatz ist ISO-8859-1. Wenn also Chinesisch im zurückgegebenen JSON enthalten ist, ist dies verstümmelt Zeichen werden angezeigt. Als Lösung fügen Sie einfach den folgenden Code zurKonfigurationsdatei
hinzu:Wenn Sie andere MediaType-Typen verarbeiten müssen, können Sie andere Wert-Tags hinzufügen zum Listen-Tag
<mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website! Empfohlene Lektüre:
Wie kann Ajax Asynchronität anfordern? Verwendung von
Detaillierte Erläuterung der Verwendung des XMLHttpRequest-Objekts von AJAX
Das obige ist der detaillierte Inhalt vonUmgang mit verstümmelten chinesischen Zeichen beim Senden von Ajax in springmvc. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!