BootstrapTable 搜索中文乱码问题解决

2 篇文章 0 订阅
1 篇文章 0 订阅

bootstrapTable搜索中文乱码问题

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

  1. 更改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" />
    

    这样就解决这个问题了。

  2. 更改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",
              ... ...
    });
    
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值