php 用get方式传递中文参数,无法用strpos判断中文字处于第几个
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 用get方式传递中文参数,无法用strpos判断中文字处于第几个相关的知识,希望对你有一定的参考价值。
$a=$_GET['k'];
如果$a是用get方式获取的,比如获取的值为“中国于美国”
然后用strpos进行判断,判断“于”处于第几个,结果无法获取处于第几个
但是 ,如果直接用$a="中国于美国";这样赋值的话,就可以获取
试过urldecode了
如果get传递过来的参数是被浏览器自动urlencode的,那就有这个问题
如果传递的时候没有urlencode 那还是正常的
php网站一开始还运行正常,突然不知道怎么回事url传递过来的参数无法通过GET获取了,怎么网站瘫痪了。
本地用的是APMServ5.2.6,运行良好,然后上传到服务器一开始也没啥错误,后来页面都没法获取到参数,点击都错误。如index.php?id=1。程序里直接通过$id就能得到值,后面不知道什么原因,也没人动服务器就不行了。后台重新加了get去获取id就行了。但是后台还是不行,总不能所有的参数都要重新加一遍吧。我网站用的是keke威客1.2后台开发的。非常苦恼,但是服务器上安装个APMServ5.2.6又能正常运行,目前服务器上的版本是PHP版本 : 5.2.13,服务器软件:Microsoft-IIS/6.0MySQL 支持:[√] /版本:5.0.81-community-nt。
参考技术A 服务器上更改了php配置文件,或者服务器升级了php版本你如果不能更改服务器配置,那就只有在每个页面上声明get变量;
而且就算你能更改php.ini 也不建议开启,而是要在开发中声明变量 参考技术B 一般是使用$_GET['id'],取ID的值 url 一般的是 ?id=值 如果这样无法敢得参数,就说明了你的程序有URL路由 把参数以另一种的型式来传递,比如/id/值 , id-值,..... 一般这样的程序都有设置开启与关闭,你可以在配置表中关闭 参考技术C 要开启全局,但建议不要用全局,不安全 参考技术D 你环境可能出问题了!
以上是关于php 用get方式传递中文参数,无法用strpos判断中文字处于第几个的主要内容,如果未能解决你的问题,请参考以下文章