一、后台接收
1.1、 get 请求乱码
get 请求中,请求参数在请求头中;
乱码解决方法:
a、通过在web 服务器中配置编码格式:tomcat 中,在 Connector 中添加URIEncoding="UTF-8";
1.2、post 请求乱码
post 请求中,请求参数分两部份,
1.2.1、url?参数,这部分参数在请求头中
乱码解决方法:与 get 请求中相同
1.2.2、其他请求参数在请求体中(这部分参数 web服务器不会对其编码)
乱码解决方法:
a、request.setCharacterEncoding("UTF-8"); 注:要在 request 任何操作之前设置,否则无效。
b、在 web.xml 中配置拦截器来设置编码字符集:
<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> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
二、响应前端
2.1、response println 乱码
解决方法:
response.setContentType("text/html; charset=utf-8");
response.setHeader("content-type","text/html;charset=UTF-8");
这两句可以解决响应前端的乱码问题;
注:要在 response 任何操作之前设置,否则无效!
2.2、spring mvc 中,注解@response 返回 乱码
在 spring 配置中扫描 注解映射到方法上 时,添加编码字符集配置:
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <!-- 设置返回字符串编码 --> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <!-- 注解response 输出中文时, 这个配置可以解决 在ajax中乱码的问题,但直接返回到界面时还是乱码 <list> <value>text/plain;charset=UTF-8</value> <value>text/html;charset=UTF-8</value> </list> --> <!-- 注解response 输出中文时, 这个配置可以解决 在ajax中乱码的问题,也可以解决直接返回到界面时乱码的问题 --> <list> <bean class="org.springframework.http.MediaType"> <constructor-arg index="0" value="text" /> <constructor-arg index="1" value="plain" /> <constructor-arg index="2" value="UTF-8" /> </bean> </list> </property> </bean> <!-- json转换器 <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <list> <value>applicaton/json;charset=UTF-8</value> <value>text/javascript;charset=UTF-8</value> <value>text/html;charset=UTF-8</value> </list> </property> </bean> --> </list> </property> </bean>
--------------------------------------------------------------------
若有其他凝问或文中有错误,请及时向我指出,
我好及时改正,同时也让我们一起进步。
email : [email protected]
qq : 1035862795
敲门砖: 代码谱写人生