yz20sui 发表于 2008-12-25 19:59:55

让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: 如果要另外修改规则 请慎重

pp18180058 发表于 2008-12-26 10:07:37

给你个文件,实现一样的效果~ 看~ http://showcr.com/index.php/search/result/guide/外商%20投资/0
不用修改任何一个地方~
放在\system\application\libraries下



[ 本帖最后由 pp18180058 于 2008-12-26 10:14 编辑 ]

Hex 发表于 2008-12-26 10:23:01

支持 2 楼的方案!

daijunzhong 发表于 2009-1-5 16:45:51

1.7.0版好像不行

你们这个是什么版本的

m4774411wang 发表于 2009-2-5 15:53:52

我学习下

Hex 发表于 2009-2-6 18:16:24

你们这个是什么版本的
daijunzhong 发表于 2009-1-5 16:45 http://codeigniter.org.cn/forums/images/common/back.gif
这个版本应该是 1.6.3 吧。

kissmumu 发表于 2009-2-8 15:43:56

顶顶,推荐用1.7.0,嗯

yisu145 发表于 2010-4-12 10:30:55

1.7的杂用啊,谢谢啊,急 啊

songah 发表于 2010-6-6 06:20:14

二楼方案测试通过1.72,非常不错:victory:

Andy_que 发表于 2010-6-6 16:28:42

不错的方法
页: [1] 2
查看完整版本: 让CI的URL支持中文