Maison > interface Web > js tutoriel > le corps du texte

Comment gérer les caractères chinois tronqués lors de l'envoi d'ajax dans springmvc

php中世界最好的语言
Libérer: 2018-04-04 17:12:25
original
1441 Les gens l'ont consulté

Cette fois, je vais vous expliquer comment gérer les caractères chinois tronqués lors de l'envoi d'ajax dans springmvc. Quelles sont les précautions pour traiter les caractères chinois tronqués lors de l'envoi d'ajax dans springmvc. Voici des cas pratiques, voyons. jetez un oeil une fois.

Utilisez spingmvc pour envoyer une requête via ajax en JS et renvoyer les données au format json. Le format chinois est correct lorsqu'il est retiré de la base de données, mais est-il incorrect lorsqu'il est affiché sur la page ? ? , après quelques recherches, il existe plusieurs solutions.

J'utilise sping-web-3.2.2, jar

Méthode 1 :

Dans @RequestMapping Ajouter des produits = "text/html;charset=UTF-8"

@RequestMapping(value = "/configrole", method = RequestMethod.GET, produces = "text/html;charset=UTF-8") 
public @ResponseBody String configrole() { 
 ...... 
}
Copier après la connexion

Méthode 2 :

Parce qu'elle est définie par défaut dans StringHttpMessageConverter Le jeu de caractères est ISO-8859-1
, j'ai donc obtenu le code source, je l'ai modifié en UTF-8 et je l'ai empaqueté dans spring-web-3.2.2.jar

public class StringHttpMessageConverter extends AbstractHttpMessageConverter<String> 
{ 
 public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8"); 
 .......... 
}
Copier après la connexion

Méthode trois :

Modifiez les paramètres de la méthode constructeur de org.springframework.http.MediaType et ajoutez-la dans applicationContext- Configuration mvc.xml

public MediaType(String type, String subtype, Charset charset) { 
  super(type, subtype, charset); 
}
Copier après la connexion

Code XML

<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>
Copier après la connexion

Méthode 4

org.springframework La classe .http.converter.StringHttpMessageConverter est une classe qui gère les requêtes ou les chaînes correspondantes, et le jeu de caractères par défaut est ISO-8859-1, donc quand il y a du chinois dans le json renvoyé, tronqué des personnages apparaîtront.

La classe parent de StringHttpMessageConverter possède un attribut List liste, le jeu de caractères par défaut est utilisé.

En guise de solution, ajoutez simplement le code suivant au fichier de configuration :

<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>
Copier après la connexion

Si vous devez gérer d'autres types de MediaType, vous pouvez ajouter d'autres balises de valeur à la balise de liste

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Quelles sont les méthodes utilisées par Ajax pour demander l'async ? Comment utiliser

Explication détaillée de l'utilisation de l'objet XMLHttpRequest d'AJAX

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!