1. Ao usar o AJAX para transferir dados da página de primeiro plano para o controlador de segundo plano, o código ilegal chinês (ponto de interrogação ???) aparece.
Procurei várias soluções online antes, mas elas não funcionaram. Finalmente, achei que era um problema com o servidor Tomcat recebendo dados.
Solução:
Método 1: Transcode os parâmetros quando o controlador recebe os parâmetros
@ResponseBody@requestmapping (value = "/getjsondatabycityName", products = "Application/json") public string getjsonbyName (httpServletRequest solicitação, httpServleTResponse,@requestparam string city_name) lança servlexception, ioxception { //RESPONSE.SETCONTENTTYPE("text/html ;charset=utf-8 "); //request.Setcharacterencoding("utf-8") ;//solve o post distribuído 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étodo 2:
Configure o arquivo Service.xml no diretório Tomcat
tomcat7/conf/server.xml
Adicione o atributo de codificação de uriencoding = "utf-8" a esta linha de código
<Conector port = "8080" protocol = "http /1.1" conextimeout = "20000" redirectport = "8443" uriencoding = "utf-8" />
Análise de causa:
De fato, o motivo do problema ilegível é que a configuração padrão do TomCat, a solicitação recebida é transcodificada com o ISO-8859-1, o que leva ao problema ilegível em chinês. Enquanto o código distorcido puder ser transcodificado corretamente com o UTF-8, o problema ilegal pode ser resolvido.
2. Transmissão de dados comuns, da página JSP para o controlador de fundo, solução para o problema de iluminado em chinês
(1) Primeiro verifique se o formato de codificação da página JSP é UTF-8
(2) Defina a filtragem chinesa
<!-- 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> <iit-param> <amam-name> forcencoding </param-name> <amam-value> true </param-value> </irit-param> </ftrhter> <filter-mapping> <filter-name> caracterencodingfilter </ftrher-name> <url-pattern>/*</url-pattern> </filter-mappapping>
(3) Defina a conversão de dados JSON no arquivo de configuração Springmvc
<MVC: anotação-driven> <MVC: Message-Converters Register-Defaults = "true"> <!-Inicie a função de anotação do MVC da mola, complete o mapeamento de solicitações e anotações de mapeamento de mapeamento de POJO Mapping Mapping IS ISO-88859-1 por padrão, evitando códigos de desvantagem. Isso está definido como UTF-8-> <Bean> <propriedade name = "suportedmediTypes" value = "text/html; charset = utf-8"/> </bean> <!-Iniciar o formato JSON <nome do formato automaticamente, convertido "JacksonMest para o formato JSON, não são necessários outros classes-> <Bean id =" value = "Application/json; charset = utf-8"/> </bean> </mvc: Message-Converters> </mvc: anotação-driven>
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.