先说推荐的解决办法:
前端两次编码后发送:encodeURI(encodeURI(”要编码的中文“))
后端一次解码:URLDecoder.decode(request.getParameter(对应的字段名称), “UTF-8”)
接着说不推荐的办法:
方法一:
前端采用encodeURI对中文编码,后台服务器解码后通过: new String(传过来的参数.getBytes(“ISO8859_1”),“UTF-8”)这样转换回来,这样能转换成功的前提是服务器采用了ISO8859_1编码,如果不是,只剩下干瞪眼了。
方法二:
把后台服务器编码直接变成utf-8,在tomcat的server.xml中的
这段中加上 URIEncoding=“utf-8”,连那个string编码转换都省了。但是如果某一天服务器重新部署了,开发人员遗忘了这个事,或者换了一个开发人员重新部署,那又要干瞪眼了。
总而言之,推荐最上面那种一劳永逸的解决方案。