让CI的URL支持中文
最近的一个项目中需要用到 类似
http://localhost/index.php/a/b/%E8%BD%A6
或
http://localhost/index.php/a/b/车
这样的url
发现 CI的 默认设置
$config['permitted_uri_chars'] = 'a-z 0-9%~.:_\-';
不能传递参数
于是 修改了一下 现在可以支持中文
步骤1:
修改 system\libraries\URI.php 第189行
if ( ! preg_match("|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i", $str))
为
if ( ! preg_match("|^[".$this->config->item('permitted_uri_chars')."]+$|i", $str))
步骤2:
修改 system\application\config\config.php
$config['permitted_uri_chars'] = 'a-z 0-9%~.:_\- ';
为
$config['permitted_uri_chars'] = 'a-z 0-9%~.:_\- \x80-\xff';
然后测试一下吧...
是不是可以啦 :)
PS: 如果要另外修改规则 请慎重 给你个文件,实现一样的效果~ 看~ http://showcr.com/index.php/search/result/guide/外商%20投资/0
不用修改任何一个地方~
放在\system\application\libraries下
[ 本帖最后由 pp18180058 于 2008-12-26 10:14 编辑 ] 支持 2 楼的方案!
1.7.0版好像不行
你们这个是什么版本的 我学习下 你们这个是什么版本的daijunzhong 发表于 2009-1-5 16:45 http://codeigniter.org.cn/forums/images/common/back.gif
这个版本应该是 1.6.3 吧。 顶顶,推荐用1.7.0,嗯 1.7的杂用啊,谢谢啊,急 啊 二楼方案测试通过1.72,非常不错:victory: 不错的方法
页:
[1]
2