JSP页面上的中文数据传到后台乱码处理汇总

SpringMVC框架下的web项目,JSP页面上的中文传到后台乱码的情况下,这儿汇总了五种可能出现乱码解决的情况,如果你的项目中也出现了乱码,可以尝试从以下方面进行解决(使用UTF-8的编码方式)。
1、web.xml中配置编码过滤器

	SetCharacterEncoding
	org.springframework.web.filter.CharacterEncodingFilter
	
		encoding
		UTF-8
	
	
		forceEncoding
		true
	


	SetCharacterEncoding
	/*
2、JS页面上设置pageEncoding
3、如果使用的是Ajax进行数据传输出现乱码,对Ajax传输的数据设置编码contentType:"application/x-www-form-urlencoded; charset=utf-8":
$.ajax({
	url : url,
	type : "POST",
	dataType : "json",
	async : false,
	contentType:"application/x-www-form-urlencoded; charset=utf-8",
	data : $("#communication_frm").serialize(),
	success : function(result) {},
	error : function() {}
});
4、使用tomcat服务器的情况下,上面几点都设置好了还是乱码就去查看tomcat配置文件web.xml(路径:tomcat/conf/web.xml),设置tomcat的编码过滤器为UTF-8,配置位置如下:
  
  
    
        setCharacterEncodingFilter
        org.apache.catalina.filters.SetCharacterEncodingFilter
        
            encoding
            UTF-8
        
    
5、tomecat服务器的配置文件中,设置编码过滤器前面有一行注释,parameters in a POST request,从我遇到的实际情况来看确实是这样的,这个过滤器只对post方式发送的请求中的数据有效,而对get请求中的参数是无效的。
get请求方式发送的中文数据(url拼接)在前面都设置好后还会乱码的话,进入tomcat的配置文件server.xml(路径:tomcat/conf/server.xml),给
添加URI的编码属性:URIEncoding="UTF-8"即改为:
 

      目前我所遇到的乱码情况用这几种方式都能解决,如果还有其他情况欢迎告知补充。
 

你可能感兴趣的:(SpringMVC)