现在的位置: 首页 > 综合 > 正文

jsp url传中文参数乱码问题–亲测好使

2013年10月26日 ⁄ 综合 ⁄ 共 719字 ⁄ 字号 评论关闭

jsp url传中文参数乱码问题

jsp如果使用 url传中文参数的话,在获得url中文参数时,很容易出现乱码问题。

解决乱码的最终方案虽然很简单,但却花了我比较长的时间,现分享出来,希望能对大家有用。

首先,需要保证tomcat的配置文件server.xml的正确性。

<Connector port="80" protocol="HTTP/1.1" 

               connectionTimeout="20062" 

               redirectPort="8443"   URIEncoding="UTF-8" />

注意:这里所有的Connector标签,都需要增加了URIEncoding="UTF-8。  并且在增加了这个值之后,不能再增添:useBodyEncodingForURI="true" 值,否则也会出错。

其次,对URL参数编码,也有相同编码(utf-8)的要求。

a.jsp中:

使用了java.net.URLEncoder.encode(str,"utf-8")  对中文参数进行utf-8编码。防止浏览器以自己的方式编码,造成解码的麻烦!

例如:  <a href='b.jsp?title=<%=java.net.URLEncoder.encode(stitle,"utf-8")%>  target=_blank>提交主题信息</a> 

b.jsp中:

首行使用:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

那么在jsp中的java代码块,获取参数,无须再进行任何转码:

例如: String title = request.getParameter("title");

抱歉!评论已关闭.