3450399331
网站建设

网站建设中用ThinkPHP框架分页时候参数带中文,为什么会查看不到数据?

发表日期:2026-06-21   作者来源:www.lblmk.com   浏览:242   标签:    

在开发的时候有一些网站需要做一个整站的搜索功能,当然这个的搜索只包括一部分的内容搜索,譬如:新闻,商品,解决方法等几个主要模块的内容搜索这个搜索功能一般是放在网站的导航或者底部,让浏览网站的用户可以了解的看到,并且了解这个功能可以,在输入关键词的状况下,可以迅速的搜索到一些自己想要知道的商品,新闻等内容。

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

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

发现更不是这个问题,然后就是继续问度娘找原因缘由,不了解是否我搜索的问题一直没问到重点,所以一直没找到对的办法,实在是无法了就问了一下同事,同事说的是由于参数带中文出现了乱码是什么原因,乱码?;乱码我不是已经处置了吗?如何又有问题。非常是不解,无奈叫同事把他处置过的ThinkPHP框架的分页类发我一份,我替换看一下有没问题下图:

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

这是替换后的:

问题到这里就已经解决了,但也让我学到了不少,不少问题只须找到对应的重点就能非常快解决,在一个人走进死胡同的时候可以问一下身边的人,他们能给你提供一个全新的方向,如此也能叫你迅速的找到问题的所在。在这里提醒一下,各位遇见问题不应一味的自己研究,其实可以问一下你的同事或者前辈,毕竟你没遇见的问题,其他人可能遇见过,如此还有助同事之间的交流,增加友谊。

如没特殊注明,文章均为建站精灵 原创,转载请注明来自https://www.huijianjun.com/news/1/21325.html