jsp到java后台中文乱码问题

---首先描述一下我的情况,我的jsp    设置了编码格式

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

---java的web.xml中也做了字符集过滤

<filter>
<filter-name>SpringEncodingFilter</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>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SpringEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

 

 

 

 

 

--------但是前台的中文传到后台后就是乱码,后来想到

默认情况下,tomcat使用的的编码方式:iso8859-1

 

修改tomcat下的conf/server.xml文件

 

找到如下代码:    

1
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

这段代码规定了Tomcat监听HTTP请求的端口号等信息。

 

可以在这里添加一个属性:URIEncoding,将该属性值设置为UTF-8,

即可让Tomcat(默认ISO-8859-1编码)以UTF-8的编码处理get请求。这里才是制约get请求的关键。

利用request.setCharacterEncoding("UTF-8");来设置Tomcat接收请求的编码格式,只对POST方式提交的数据有效,对GET方式提交的数据无效!

posted @ 2017-04-19 10:17  ryan-an  阅读(2918)  评论(0编辑  收藏  举报