最近,使用bootstrapTable进行画表,在页面进行条件查询的时候,碰到了一个问题:如果条件查询参数有中文的话,传输到后台会变为乱码,导致查询过程中,没有查询结果出来.
经过一步步排查,发现出现该问题的几个地方,如下:
1. tomcat编码格式未设置,或者非utf-8;
2. 页面接口获取方式使用的get方法,或者bootstrapTable默认方法;
3. jsp页面设置的编码格式非utf-8.
解决方法由以下几种:
1. 更改tomcat的server.xml文件,在<Connector>标签中添加或修改编码规则:URIEncoding="UTF-8";
2. 在初始化table时,添加或修改请求类型method: "post",和contentType:"application/x-www-form-urlencoded";
3. 更改jsp页面的编码格式.
综合来说:本地测试环境很容易去更改各种配置,但是上到生产环境,随意更改tomcat的编码格式就需要非常小心了,所以个人倾向推荐方法2,在初始化table过程中,修改请求类型和数据发送方式.
网友评论