为了账号安全,请及时绑定邮箱和手机立即绑定

thinkphp5 url请求get获取中文参数,打印结果为空

thinkphp5 url请求get获取中文参数,打印结果为空

PHP
九州编程 2019-03-07 02:47:25
直接贴问题,如下:一、1.请求地址:http:/localhost/index.php/rec...2.打印拿到的参数: 代码:dump(input('param.')); 参数结果: array(3) { ["gameName"] => string(0) "" ["appId"] => string(2) "06" ["userId"] => string(32) "123123" } 二、将url请求地址的参数部分改成传统的&拼接的方式,即可获取到中文参数请求地址:http://localhost/index.php/re...array(3) { ["gameName"] => string(12) "山西麻将" ["appId"] => string(2) "06" ["userId"] => string(32) "123123"} 求解第一种请求方式为什么拿不到中文参数?
查看完整描述

3 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

input是thinkphp5的助手函数,与Request::instance()->param()的一样的,今天翻手册发现Request::instance()->param()是过滤参数后的结果,用Request::instance()->param(false)获取原始数据,再对中文参数用iconv()进行转码即可获取到中文。
https://img1.sycdn.imooc.com//5c8f637e000178f808000240.jpg

查看完整回答
反对 回复 2019-03-18
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

$request = request();
echo '请求参数:';
dump($request->param());

你看看这样可以不

查看完整回答
反对 回复 2019-03-18
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

我们来分析一下这个这个链接

http://localhost/index.php/recharge_show/gameName/山西麻将/appId/06/userId/123123

官方标准url解析

http://serverName/index.php/module/controller/action/param/value/...

也就是说recharge_show是模块,gameName是控制器,山西麻将是action,后面的才是对应param/value
如果你有使用路由,

recharge_show/:gameName/:appId/:userId'=>'模块/控制器/recharge_show',
查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 2252 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信