您的位置:首页 > Web前端 > BootStrap

BootstrapTable 搜索中文乱码问题解决

2018-03-14 14:46 399 查看
bootstrapTable搜索中文乱码问题

bootstrapTable在请求方式为
get
时,在其提供的输入框中输入中文,会出现后台获取到的是乱码的字符的现象。

其解决方式有两种:

更改Tomcat的URI编码方式。

具体为:进入Tomcat目录,进入conf文件夹,打开server.xml文件(最好先进行一次备份),找到自己请求的连接头对应的代码,如:

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" />


在其中加上
URIEncoding="UTF-8"
属性,更改为:

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8" />


这样就解决这个问题了。

更改bootstrapTable的请求方式。

一开始其实也说了是在请求方式为
get
的情况下才会出现这种问题,结合上面的解决方式,很容易就能了解到,是由于get请求发向Tomcat时,由于Tomcat的默认URI编码并非为UTF-8, 因此出现的这个问题。那么在不更改Tomcat的情况下解决这个问题的方法就很清楚了,将bootstrapTable 的请求方式从
get
更改为
post
即可。具体就是将bootstrapTable中的method参数的值设置为
post
,如下:

$("#table").bootstrapTable({
method: "post",
url: "获取后台数据的url",
... ...
});


当然,其实光这样该还不够,因此这样改完后会发现后台就接收不到数据了,这是由于使用post请求后,其不能继续使用原有默认发送到服务器的数据编码类型, 在上面的语句中再添加一句:
contentType:"application/x-www-form-urlencoded"
(如下),即可。

$("#table").bootstrapTable({
method: "post",
url: "获取后台数据的url",
contentType:"application/x-www-form-urlencoded",
... ...
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息