获取URL中的中文参数

来源:互联网 发布:dota视频软件 编辑:程序博客网 时间:2024/05/21 17:24

关于url编码的知识参看:http://blog.csdn.net/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);即可。