产品导航
  • 网页特效源码
    图片代码
    导航菜单
    选项卡/滑动门
    文字特效
    表单代码
    提示框/浮动层/弹出层
    DIV CSS
    html5 css3
    其他特效
  • 网站模板源码
    电脑、通讯、数码
    家具洁具、日用品
    建材、五金、装饰
    纺织、服装、鞋帽
    礼品玩具、工艺品
    家电、照明、电子
    文具、乐器、体育
    机电、仪器、设备
    食品、饮料、酒类
    汽车、摩托电动车
    能源、环保、节能
    冶金、金属、零件
    农业、水产、养殖
    矿产、石油、化工
    珠宝首饰、化妆品
    医药医器、保健品
    包装、印刷、造纸
    书画、艺术、收藏
    通用、其他制造业
    房地产、建筑装修
    餐饮、咖啡、茶楼
    咨询、策划、翻译
    金融、证券、典当
    健身、运动俱乐部
    家政、保洁、搬家
    医院、诊所、保健
    旅游宾馆、农家乐
    美容、休闲、养生
    婚庆、摄影、影楼
    仓储、物流、租车
    维修、保养、回收
    广告、会展、设计
    文化、教育、培训
    政府、协会、机构
    其他行业网站
  • 小程序源码
  • 游戏源码
  • 微信公众平台源码
  • 营销软件
  • 云虚拟主机
    全能型云虚拟主机
    海外免备案主机
    高防云享主机
    专业型云虚拟机
    Linux专业型云虚拟机
    .NET专业型云虚拟机
    JSP专业型云虚拟机
    百度云虚拟机(BCH)
  • 旅游系统
    旅游网站模板
    组合套餐
    产品应用
    营销应用
    内容应用
    供应分销应用
    插件接口应用
    SAAS版本应用
  • Cisco设备
    交换机
    路由器
    无线
    网络管理
    接口和模块
    光网络
  • IBM设备
    服务器
  • 华为设备
    交换机
    路由器
    WLAN
    存储
  • 智能设备

网站开发中使用ThinkPHP框架分页时候参数带中文,为何会查询不到数据?

 二维码
发表时间:2021-05-19 19:50
在开发的时候有一些网站需要做一个整站的搜索功能,当然这个的搜索只包含一部分的内容搜索,比如:新闻,产品,解决方案等几个主要模块的内容搜索
这个搜索功能一般是放在网站的导航或者底部,让浏览网站的用户可以清楚的看到,并且知道这个功能可以,在输入关键字的情况下,可以快速的搜索到一些自己想要了解的产品,新闻等内容。

在搜索的时候输入中文搜索,接收到的参数是乱码,查询数据库的时候查询不到任何信息,首先反应的是不是Form 使用get提交的时候有问题,换成post提交试一
下,发现还是一样的结果,这是前端提交代码:
<form action="{:urlrotue('***/index')}" method="get">
<div class="row por">
    <input type="submit" value="" class="submit0">
    <input type="text" placeholder="请输入搜索内容" class="search-input" name="keywords">
    <span class="search-close"></span>
</div>
</form>
面对这样的结果是一脸懵,大脑里想的是这是什么情况?一脸的问号?为什么以前做的项目没有遇到这样的问题,新项目也是使用一样的框架和方法,怎么这次就遇
到这样的问题。我在遇到这个问题的时候想着自己能解决,就没有问同事,就去度娘一顿搜索,终于找到了问题所在,说是浏览器的默认编码在作怪,需要在PHP页面添加
header("Content-Type:text/html;charset=UTF-8");这个就没有问题了,结果问题还真的解决了,能搜索出来对应关键字的信息,试了试翻页也没有问题,然后就
是把项目上传服务器进行进一步测试。结果就是又出现了新的问题,本地测试的时候一切正常,但是上传到服务器的时候,这个搜索就出现一些原因不明的问题,在输入关键字查询的时候一切都是正常的,但是当你搜索到的内容比较多的时候,你想查看第二页的搜索结果的时候,你会发现翻页到第二页的时候,页面是没有显示任何数据的。这到底是什么问题呢?下图是第一次搜索时显示正常数据的图片和翻页时候显示无数据的情况图片:



在遇到这种情况的时候我想大家的第一反应肯定跟我一样,是不是上传服务器的时候有什么东西没保存就上传上去了,然后去本地把文件一个个的检查一遍,然后确
认没问题再上传一遍,但是结果还是一样的,翻页的时候还是没有查询到任何数据。
然后就是各种排查,看看是不是分页的时候传的参数名是不是跟第一次的时候不一样,是不是a链接传参的时候漏掉了关键字,结果当然都不是这些的问题,下图是A链接的跳转链接图片:

发现也不是这个问题,然后就是继续问度娘找问题原因,不知道是不是我搜索的问题一直没有问到关键点,所以一直没有找到对的方法,实在是没办法了就问了一下同事,同事说的是因为参数带中文出现了乱码的原因,乱码?;乱码我不是已经处理了吗?怎么又有问题。很是不解,无奈叫同事把他处理过的ThinkPHP框架的分页类发我一份,我替换看一下有没有问题
下图:

结果还是一样的问题,然后只能继续问度娘,这次有了提示搜索的问题是”ThinkPHP分页有中文参数出现乱码“这个关键字,这次终于找到了问题,需要修改一下内置分页类的Page.class.php的内容,然后就是按操作把对应的内容给修改替换,上传服务器测试,这次没问题了显示正常,翻页也是正常的,下面是测试结果:

这个是需要替换前的内容:

这是替换后的:

问题到这里就已经解决了,但是也让我学到了很多,很多问题只要找到对应的关键点就能很快解决,在一个人走进死胡同的时候可以问一下身边的人,他们能给你提供一个全新的方向,这样也能让你快速的找到问题的所在。在这里提醒一下,各位遇到问题不应一味的自己研究,其实可以问一下你的同事或者前辈,毕竟你没遇到的问题,别人可能遇到过,这样还有助同事之间的交流,增加友谊。
关注我们
关于我们
天隆网络科技有限责任公司励志为顾客提供出更好的网站建设、二次开发、管理、维护系统等。本团队为此收录了大量的技术和相关人员。公司积极鼓励客户前来本站交流互动,积极鼓励为本站提出创新的好点子 本团队专注于企业的网站设计制作,为刚接触网站开发和运营的客户提供更好的帮助到你的解决方案。
服务范围
联系我们
QQ:1602299552
邮箱:dhtlit@qq.com
付款方式:现金,刷卡,支付宝,微信