当前位置: 首页 > 编程笔记 >

ThinkPHP采用GET方式获取中文参数查询无结果的解决方法

终逸仙
2023-03-14
本文向大家介绍ThinkPHP采用GET方式获取中文参数查询无结果的解决方法,包括了ThinkPHP采用GET方式获取中文参数查询无结果的解决方法的使用技巧和注意事项,需要的朋友参考一下

在用ThinkPHP做tags标签的时候,出现了一个问题,就是能获取到参数,但是查不出相应的结果。查看数据库发现数据是存在的。问题出在哪了呢?

形如http:/www.XXXX.com/tags/index/%E8%87%AA%E5%8A%A8%E9%AA%8C%E8%AF%81.html的调用

参数是经过urlencode()编码了的,使用urldecode()函数进行解码,再进行查询仍然没有结果。
紧接着测试转换编码iconv()函数,结果成功了。

浏览器默认的编码是GB2312的,而这个项目采用的是UTF-8编码的。
下面就将错的代码和修正后的代码给大家看一下:

$kw= $_GET['_URL_']['2'];   //错误的代码,在iis上能获取的参数,但是查询不出结果的。
$kw= iconv("gb2312","utf-8",$_GET['_URL_']['2']); //经过编码转换的,能够查询出结果的。

另外,本方法只适用于iis环境
还要注意,$_GET接收参数的时候本身就有urldecode转码功能,不需要再进行urldecode解码操作!

 类似资料:
  • 本文向大家介绍thinkPHP查询方式小结,包括了thinkPHP查询方式小结的使用技巧和注意事项,需要的朋友参考一下 本文实例总结了thinkPHP查询方式。分享给大家供大家参考,具体如下: 一、普通查询方式 1. 使用字符串查询; 这种方法存在一个缺点,就是当数据表中的查询字段为字符串时,需要在字段值中加入引号。 2. 使用数组的方式(推荐使用) 二、表达式查询 EQ  等于; NEQ 不等于

  • 本文向大家介绍JS异步执行结果获取的3种解决方式,包括了JS异步执行结果获取的3种解决方式的使用技巧和注意事项,需要的朋友参考一下 前言 JS异步执行机制具有非常重要的地位,尤其体现在回调函数和事件等方面。 但异步有时候很方便,有时候却很让人恼火,下面来总结一下异步执行结果获取的方法 回调 这是最传统的方法了,也是最简单的,如下代码 Promise Promise是ES6里加入的新对象,它可以把一

  • 本文向大家介绍Python获取SQLite查询结果表列名的方法,包括了Python获取SQLite查询结果表列名的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python获取SQLite查询结果表列名的方法。分享给大家供大家参考,具体如下: 获得查询结果表的列名: 获得所有列名: 更多关于Python相关内容感兴趣的读者可查看本站专题:《Python常见数据库操作技巧汇总》、《Py

  • 本文向大家介绍PHP使用mysql_fetch_object从查询结果中获取对象集的方法,包括了PHP使用mysql_fetch_object从查询结果中获取对象集的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP使用mysql_fetch_object从查询结果中获取对象集的方法。分享给大家供大家参考。具体分析如下: mysql_fetch_object函数用于,提取结果行从一

  • 本文向大家介绍SQL Server中查询结果超出了查询时间范围解决方法,包括了SQL Server中查询结果超出了查询时间范围解决方法的使用技巧和注意事项,需要的朋友参考一下 废话少说,直接上SQL代码(有兴趣的测试验证一下),下面这个查询语句为什么将2008-11-27的记录查询出来了呢?这个是同事遇到的一个问题,个人设计了一个例子。   其实如果细看过文档的话,应该知道是什么原因,因为数据类型

  • 本文向大家介绍thinkphp中session和cookie无效的解决方法,包括了thinkphp中session和cookie无效的解决方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkphp中session和cookie无效的解决方法。分享给大家供大家参考。具体分析如下: 问题描述: 在本地调试时session和cookie是用没有问题的,我是用session保存当前登录账