在后台处理有中文的参数的时候,从后台代码中指定服务端的编码方式,并且指定浏览器端的解码方式:
response.setCharacterEncoding("utf-8");//设置服务器端编码
response.setContentType("text/html;charset=utf-8");//设置浏览器端解码
这样在浏览器传过去的中文可以正常显示在浏览器页面上。
如果是jsp处理,对于表单中POST方式提交的数据,只要在接收数据的jsp页面加上:
request.setCharacterEncoding("UTF-8");//不分大小写
获得参数的时候就可以通过:request.getParameter("name");正确获得中文参数
但是如果是Get或者直接用Url提交的参数,需要在传参时通过encodeURI(name)编码,
后台通过: java.net.URLDecoder.decode(request.getParameter("name"),"UTF-8");解码。
值得注意的是很多自己开发的工具包例如StringUtil处理参数是都是默认使用utf-8解码的,
所以最好先对客户端请求进行重新编码:request.setCharacterEncoding("UTF-8");