BootStrap table 搜索中文乱码问题java
1.bootstrapTable在请求方式为get
时,在其提供的输入框中输入中文,会出现后台获取到的是乱码的字符的现象。spring
有两种方式解决这个问题:能够在Tomcat上更改URL 的编码方式:bootstrap
进入Tomcat目录,进入conf文件夹,打开server.xml文件(最好先进行一次备份),找到本身请求的链接头对应的代码:tomcat
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" />
在其中加上URIEncoding="UTF-8"
属性.app
2.由于请求方式为get,因此出现这个问题,能够在其属性里面,把method改成post,同时,还要加上contentType:"application/x-www-form-urlencoded"
:更改以下:框架
$("#table").bootstrapTable({ method: "post", url: "获取后台数据的url", contentType:"application/x-www-form-urlencoded", ... ... });
2.bootstrap里面的请求方式为get,出现中文乱码的问题,post
一个是修改tomcat配置文件conf/server.xml,在 <Connector port="8082" protocol="HTTP/1.1" 中加入 URIEncoding="utf-8"的编码集;编码
另外一个是前台对中文进行编码时,能够在js里面调用encodeURI(url),将url编码,而后请求。url
后台这样写:String str = new String(request.getParameter("param").getBytes("iso8859-1"),"UTF-8"); 在框架的使用中:request.setCharacterEncoding(encoding);只对post请求有效。因此spring的filter配置不做用于get参数接收。spa
3.后台接受中文参数乱码处理的方法(搜索功能带参数)
encodeURI(encodeURI(params)):
两次encodeURI的原理:
第一次编码获得的是UTF-8形式的URL,第二次编码获得的依然是UTF-8形式的URL,可是在效果上至关于首先进行了一 次UTF-8编码
再进行了一次iso-8859-1编码,由于对英文字符来讲UTF-8编码和ISO- 8859-1编码的效果相同。
后台处理的话,是这样的,先获取到搜索的参数,而后咱们判断一下,这个参数是否为空, !StringUtil.isempty(参数)是否为空,接着进行的是:
params = urldecode .decode(params,"utf-8");