获取URL中的中文参数

本文介绍了URL中包含中文参数时的编码问题,包括GET和POST方式提交表单时的不同编码方式,以及服务器端如何使用指定编码进行解码。强调了Tomcat配置文件server.xml中设置URIEncoding="UTF-8"的重要性,并提供了处理中文参数的方法,如使用URLEncoder.encode进行预编码和服务器端设置request.setCharacterEncoding。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于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);即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值