关于url编码的知识参看:http://blog.youkuaiyun.com/yzhz/article/details/1676796
GET方式提交表单,url的编码方式由浏览器决定,和http报文编码方式相同,不同浏览器编码方式不同。
POST方式提交表单,url的编码方式和网页的编码方式相同,ContentType("text/html; charset=GBK/UTF-8")。
服务器端request.getParameter(paramName), request.getRequestURI(); 都会使用服务器配置的编码方式进行解码。
具体方法:
首先,保证tomcat的配置文件server.xml的正确性。
在所有的Connector标签中增加 URIEncoding="UTF-8"
注意:增加了这个值之后,不能再增添:useBodyEncodingForURI="true" 值,否则也会出错。
1. 使用post方式,url编码方式同a.jsp的网页编码,设置为"UTF-8",b.jsp中使用request.setCharacterEncoding("UTF-8"), request.getParameter(paramName);即可。
2. 使用get方式,a.jsp中:使用了java.net.URLEncoder.encode(str,"utf-8") 对中文参数进行utf-8编码。防止浏览器以自己的方式编码,造成解码的麻烦!b.jsp中request.getParameter(paramName);即可。