标签传值的中文乱码问题
今天在SSH框架做一个分页查询时,发现JSP页面用a标签传值有乱码问题
于是用了之前的解决方法:
s=new String(searchText.getBytes(StandardCharsets.ISO_8859_1),StandardCharsets.UTF_8)
结果更不对了,仔细检查发现,在跳向action的时候,第一次是表单的post方式,对于post方法,tomcat的默认编码是UTF-8,所以后端接收中文没有问题。
当点击下一页的时候,用的是get方法,tomcat会查找server.xml文件中Connector元素中的参数URIEncoding的值,进行对URI进行encoding,如果没有这个值,将用iso-8859-1进行encoding,这样就产生了一个无法同时解决post和get提交编码的问题。
解决办法
修改tomcat的server.xml文件,在Connector标签下加入URIEncoding=“UTF-8”