在项目开发中,难免碰到中文参数,所以今天我来总结一下中文传参的几种方法!
1.如下传参方式:
http://www.phpddt.com/index.php/myapp/show/php教程
load->helper('url');echo anchor('myapp/show/php教程','链接');?>
如上php代码,将参数php教程传到myapp控制的show方法中,由于ci框架的安全性过滤,这种做法肯定会报错。
错误提示:
The URI you submitted has disallowed characters。
解决方法如下:(将下面这段代码保存为MYURI.php放在项目libraries目录下)
uri_string)) as $val) { $val = trim($this->_filter_uri(rawurlencode($val))); if ($val != '') { $this->segments[] = rawurldecode($val); } }} }?>
原理就是,传参的时候,用rawurlencode加密后传递,赋值的时候我在用rawurldecode解密。记住,不要使用urlencode,因为它会将中文中的空格编译成加号,而加号通过不了_filter_uri函数的验证。