在用get提交页面的时候,传参时有的参数会变成中文乱码,即使我们加了Filter什么的也没用,因为参数在传到后台之前就已经变成了乱码。
String str = request.getParameter("str");
解决方法:
前台:
<script>
var str = '中文';
str = encodeURI(encodeURI(str));
</script>
然后将参数传到后台,在后台的处理:
str = java.net.URLDecoder.decode(str,"utf8");
这样,中文的参数传到后台的时候就可以处理,还原到中文了。
String receiverName = request.getParameter("receiverName");
receiverName = new String(receiverName.getBytes("iso8859-1"),"utf-8");
receiverName = new String(receiverName.getBytes("iso8859-1"),"utf-8");