以下前端都是 utf-8 字符集编码
一、服务端接收
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 中配置拦截器来设置编码字符集:
characterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
characterEncodingFilter
/*
复制代码
二、响应前端
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 配置中扫描 注解映射到方法上 时,添加编码字符集配置:
复制代码
若有凝问或错误,请指出,我好及时改正,让我们一起进步!
email : vinson_bs@126.com
qq : 103 586 2795
敲门砖: 代码谱写人生