Heim > Web-Frontend > js-Tutorial > Hauptteil

Umgang mit verstümmelten chinesischen Zeichen beim Senden von Ajax in springmvc

php中世界最好的语言
Freigeben: 2018-04-04 17:12:25
Original
1493 Leute haben es durchsucht

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() { 
 ...... 
}
Nach dem Login kopieren

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"); 
 .......... 
}
Nach dem Login kopieren
Methode drei:

Ändern Sie die Parameter der Konstruktormethode

von org.springframework.http.MediaType und fügen Sie sie in applicationContext hinzu. mvc.xml-Konfiguration

Xml-Code
public MediaType(String type, String subtype, Charset charset) { 
  super(type, subtype, charset); 
}
Nach dem Login kopieren

<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>
Nach dem Login kopieren
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.

Die übergeordnete Klasse von StringHttpMessageConverter verfügt über ein List-Attribut, das zum Speichern der von StringHttpMessageConverter unterstützten MediaType-Typen verwendet wird, die eine spezielle Verarbeitung erfordern In der Liste wird der Standardzeichensatz verwendet.

Als Lösung fügen Sie einfach den folgenden Code zur

Konfigurationsdatei

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>
Nach dem Login kopieren
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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage