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框架页面中我们可以直接拼写sql查询语句来实现数据库查询读写操作,下面就对此加以实例说明. 普通查询除了字符串查询条件外,数组和对象方式的查询条件是非常常用的,这些是基本查询所必须掌握的. 一.使用数组作为查询条件 复制代码 代码如下: $User = M("User"); //实例化User对象 $condition['name'] = 'thinkphp'; // 把查询条件传
-
thinkphp区间查询、统计查询与SQL直接查询实例分析
本文实例讲述了thinkphp区间查询.统计查询与SQL直接查询.分享给大家供大家参考.具体方法如下: 一.区间查询: 复制代码 代码如下: $data['id']=array(array('gt',4),array('lt',10));//默认关系是(and)并且的关系 //SELECT * FROM `tp_user` WHERE ( (`id` > 4) AND (`id` < 10) ) $data['id']=array(array('gt',4),array('lt',10
-
ThinkPHP中的常用查询语言汇总
本文实例汇总了ThinkPHP中的常用查询语言,供大家参考之用.相信能给大家ThinkPHP开发带来一定的帮助.具体如下: 一.普通查询: 在查询带入where条件等,最少有三种形式 1.字符串形式: 'id>5 and id<9' 2.数组形式: 示例代码如下: $user=M('user'); $data['username']='liwenkai'; $list=$user->where(array('username'=>'liwenkai'))->select();
-
thinkphp的CURD和查询方式介绍
对数据的读取 Read 复制代码 代码如下: $m=new Model('User'); $m=M('User'); select $m->select();//获取所有数据,以数组形式返回 find $m->find($id);//获取单条数据 getField(字段名)//获取一个具体的字段值 $arr=$m->where('id=2')->getField('username'); 三.ThinkPHP 3 创建数据 (重点) 对数据的添加 Create 复制代码 代码
-
ThinkPHP中关联查询实例
本文实例讲述了ThinkPHP中关联查询的用法.分享给大家供大家参考.具体分析如下: 在THINKPHP中关联查询(多表查询)可以使用 table() 方法或和join方法,如下示例所示: 1.table() 复制代码 代码如下: $list = $user->table('user_status stats, user_profile profile')->where('stats.id = profile.typeid')->field('stats.id as id, stats.
-
thinkPHP5实现的查询数据库并返回json数据实例
本文实例讲述了thinkPHP5实现的查询数据库并返回json数据.分享给大家供大家参考,具体如下: TP5 实现查询数据库返回json数据(返回json数据函数实例) 返回结果: 复制代码 代码如下: {"code":0,"msg":"\u6570\u636e\u8fd4\u56de\u6210\u529f","count":1000,"data":[{"id":617,"t
-
ThinkPHP多表联合查询的常用方法
ThinkPHP中关联查询(即多表联合查询)可以使用 table() 方法或和join方法,具体使用如下例所示: 1.原生查询示例: 复制代码 代码如下: $Model = new Model(); $sql = 'select a.id,a.title,b.content from think_test1 as a, think_test2 as b where a.id=b.id '.$map.' order by a.id '.$sort.' limit '.$p->firstRow.',
-
thinkphp实现like模糊查询实例
本文实例讲述了thinkphp实现like模糊查询的方法,分享给大家供大家参考.具体实现方法如下: 目前使用thinkphp框架进行项目开发的人越来越多了,由于其封装性较好,导致了很多纯PHP开发的部分不易上手,本文实例即以like模糊查询为例对此加以说明. 这里主要通过举例来说明用法: ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用索引数组或者对象来作为查询条件,因为会更加安全. 一.使用字符串作为查询条件 这是最传统的方式,但是安全性不高, 例如: 复制代码 代码
-
ThinkPHP5联合(关联)查询、多条件查询与聚合查询实例详解
本文实例讲述了ThinkPHP5联合(关联)查询.多条件查询与聚合查询.分享给大家供大家参考,具体如下: 一.联合(关联)查询 1. 项目表 DROP TABLE IF EXISTS `darling_project`; CREATE TABLE `darling_project` ( `project_id` int(32) NOT NULL AUTO_INCREMENT, `project_name` varchar(20) NOT NULL, `create_time` int(32) N
-
thinkphp数据查询和遍历数组实例
本文实例讲述了thinkphp数据查询和遍历数组的方法.分享给大家供大家参考.具体方法如下: 数据库可以使用DSN方法进行配置: 复制代码 代码如下: 'DB_PREFIX'=>'tp_', //设置表前缀 'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp',//使用DSN方式配置数据库信息 如果两种方式同时存在,以DSN方式为优先,还有一种简单实用模型的方式. M() 等效为 new Model(); 复制代码 代码如下: $m=M('Use
-
ThinkPHP5查询数据及处理结果的方法小结
本文实例讲述了ThinkPHP5查询数据及处理结果的方法.分享给大家供大家参考,具体如下: 在处理数据库查询结果时遇到了些问题,记录下用到过的几种查询方式和结果处理. 1. 查询某条记录 $where=array( "version_id"=>$version_id ); $data = model("PackageWhitelist")->where($where)->find(); $this->assign("package_
随机推荐
- jquery实现像栅栏一样左右滑出式二级菜单效果代码
- 用vbs实现禁用服务
- 值得收藏的正则表达式大全
- 详解Java实现多线程的三种方式
- virtualbox虚拟机上安装centOS的网络配置详解
- PHP微信支付开发实例
- PHP程序员必须清楚的问题汇总
- php获取网页中图片、DIV内容的简单方法
- ASP.NET WebForm中<%=%>与<%#%>的区别
- 如何在C++中通过模板去除强制转换
- mysql 5.7.14 安装配置方法图文详细教程
- 基于javascript代码实现通过点击图片显示原图片
- Java concurrency之AtomicLongFieldUpdater原子类_动力节点Java学院整理
- 解决出现 java.lang.ExceptionInInitializerError错误问题
- C#实现XML与实体类之间相互转换的方法(序列化与反序列化)
- Android使用RSA加密和解密的示例代码
- Python八大常见排序算法定义、实现及时间消耗效率分析
- Visual Studio 2019 使用 Live Share的教程图解
- python仿evething的文件搜索器实例代码
- 易语言CNA算法实现快速加密解密文件的代码