1、以post方式提交
以post方式提交的请求参数中文乱码问题可以通过后端的编码过滤器解决。
可以直接使用springMVC中的编码过滤器,只需在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>
也可以自己写一个编码过滤器:
package filter;import javax.servlet.*;import javax.servlet.annotation.WebFilter;import java.io.IOException;@WebFilter(filterName = "EncodeFilter",urlPatterns = "/*")public class EncodeFilter implements Filter {public void destroy() {}public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {req.setCharacterEncoding("utf-8");chain.doFilter(req, resp);}public void init(FilterConfig config) throws ServletException {}}
2、以get方式提交
在后端接收请求后,使用URLEncoder.encode()方法将请求参数转码成“UTF-8”,同时Tomcat服务器的编码格式也要设置为“UTF-8”。
request.setAttribute("keyword", URLEncoder.encode(keyword,"utf-8"));
Tomcat 服务器编码格式设置,在tomcat的conf目录下server.xml文件中
如果觉得《前端请求参数中文乱码问题》对你有帮助,请点赞、收藏,并留下你的观点哦!