找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1654|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2487

主题

2487

帖子

7391

积分

论坛元老

Rank: 8Rank: 8

积分
7391
跳转到指定楼层
楼主
发表于 2018-2-14 05:56:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            在用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的CURD和查询方式介绍
  • ThinkPHP多表联合查询的常用方法
  • ThinkPHP中的常用查询语言汇总
  • thinkphp实现like模糊查询实例
  • ThinkPHP查询语句与关联查询用法实例
  • thinkphp区间查询、统计查询与SQL直接查询实例分析
  • thinkphp数据查询和遍历数组实例
  • ThinkPHP中关联查询实例
  • thinkPHP5实现的查询数据库并返回json数据实例
  • ThinkPHP5联合(关联)查询、多条件查询与聚合查询实例详解
  • ThinkPHP5查询数据及处理结果的方法小结
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端