1. Lorsque vous utilisez Ajax pour transférer des données de la page de premier plan vers le contrôleur d'arrière-plan, le code brouillé chinois (point d'interrogation ???) apparaît.
J'ai déjà cherché diverses solutions en ligne, mais elles n'ont pas fonctionné. Enfin, j'ai constaté que c'était un problème avec le serveur Tomcat qui recevait des données.
Solution:
Méthode 1: Transcode les paramètres lorsque le contrôleur reçoit les paramètres
@ Réponsebody @ requestmapping (value = "/ getjSondatAbyCityName", produit = "application / json") String public getjsonByName (httpServletRequest request, httpservletResponse Response, @ requestParam City_name) lance ServletException, ioException { //Response.setContentType("text/html ;charset=utf-8 "); //Request.Setcharacterencoding("utf-8") ;//solve the Post Brizled Problem System.out.println (request.getCharacTerencoding ()); city_name = new String (city_name.getBytes ("iso-8859-1"), "utf-8"); System.out.println ("City_name:" + City_name);}Méthode 2:
Configurez le fichier Service.xml dans le répertoire Tomcat
tomcat7 / conf / server.xml
Ajoutez l'attribut d'encodage de uriencoding = "utf-8" à cette ligne de code
<Connecteur Port = "8080" ProtoCol = "HTTP / 1.1" ConnectionTimeout = "20000" redirectport = "8443" uriencoding = "utf-8" />
Analyse des causes:
En fait, la raison du problème brouillé est que la configuration par défaut de Tomcat, la demande reçue est transcodée avec ISO-8859-1, ce qui conduit au problème brouillé en chinois. Tant que le code brouillé peut être correctement transcodé avec UTF-8, le problème brouillé peut être résolu.
2. Transmission de données ordinaires, de la page JSP au contrôleur d'arrière-plan, solution au problème du brouillon en chinois
(1) Vérifiez d'abord si le format de codage de la page JSP est UTF-8
(2) Définir le filtrage chinois
<! - Encodage chinois -> <filter> <filter-name> CaracterEncodingFilter </ Filter-Name> <Filter-Class> org.springframework.web.filter.characterencodingfilter </filter-Class> <Init-Param> <param-name> Encoding </ param-name> <param-vale> utf-8 </1nit-Param> <Init-Param> <Init-Param> <AmviN-Name> Forceencoding </onsam-name> <paramter-Value> true </ Param-Value> CaracterencodingFilter </filter> <filter-mapping> <filter-name> CaractorCcodingFilter </filter-Name> <Url-Pattern> / * </url-Pattern>
(3) Définir la conversion de données JSON dans le fichier de configuration de SpringMVC
<MVC: Annotation-Driven> <MVC: Message-Converters Register-Defaults = "True"> <! - Démarrer la fonction d'annotation MVC Spring, complétez la cartographie des demandes et annotations POJO Mapping Mapping Mapping est ISO-88859-1 par défaut, en évitant les codes détruits. Ceci est défini sur UTF-8 -> <an Bean> <propriété name = "supportEdMeaTypes" value = "text / html; charset = utf-8" /> </ean> <! - Démarrer la configuration du format JSON, convertit automatique Value = "Application / JSON; charSet = UTF-8" /> </ Bean> </ Mvc: Message-Converters> </ MVC: annotation-Driven>
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.