web.xml中
<filter>
<filter-name>encodingFilter</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>jsp中<%@page contentType="text/html;charset=UTF-8" pageEncoding="utf-8"%>
<a href="read.action?chapter=%E8%BF%99%E4%B8%AA%E5%8F%AF%E4%BB%A5%E6%9C%89" >这个可以有</a>服务器端
String chapter=getRequest().getParameter("chapter");
System.out.println("chapter跳转值:"+chapter);
try{
System.out.println("chapter跳转值编译后:"+URLDecoder.decode(chapter,"utf-8"));
}catch (Exception e) {
// TODO: handle exception
}
return "read";都是乱码,
服务端getRequest().setAttribute("next", "这个可以有");
jsp就可以接收到中文,为什么呢?
<filter>
<filter-name>encodingFilter</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>jsp中<%@page contentType="text/html;charset=UTF-8" pageEncoding="utf-8"%>
<a href="read.action?chapter=%E8%BF%99%E4%B8%AA%E5%8F%AF%E4%BB%A5%E6%9C%89" >这个可以有</a>服务器端
String chapter=getRequest().getParameter("chapter");
System.out.println("chapter跳转值:"+chapter);
try{
System.out.println("chapter跳转值编译后:"+URLDecoder.decode(chapter,"utf-8"));
}catch (Exception e) {
// TODO: handle exception
}
return "read";都是乱码,
服务端getRequest().setAttribute("next", "这个可以有");
jsp就可以接收到中文,为什么呢?
在配置文件中也加上编码的配置试试
例:tomcat的server.xml中
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
修改了Tomcat---->conf----->server.xml文件,在修改端口的标签后面加一行代码(大概第五十行),如下: XML code
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>默认的 URIEncoding是什么方式啊?