make3782 发表于 2007-11-30 13:31:41

CI中的URL中是不是不可以出现中文?

如题,比如这句:http://localhost/index.php/user/create/李连杰,换句话说,就是说user类中create这个方法的参数是不允许中文的对吧?
偶是新手。

Hex 发表于 2007-11-30 13:37:45

是的,这里最好不要用中文,但,是可以修改的。
在 config.php 中有个配置选项:/*
|--------------------------------------------------------------------------
| Allowed URL Characters
|--------------------------------------------------------------------------
|
| This lets you specify which characters are permitted within your URLs.
| When someone tries to submit a URL with disallowed characters they will
| get a warning message.
|
| As a security measure you are STRONGLY encouraged to restrict URLs to
| as few characters as possible.By default only these are allowed: a-z 0-9~%.:_-
|
| Leave blank to allow all characters -- but only if you are insane.
|
| DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!!
|
*/
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_-';大概意思就是说,允许出现在URL中的字符,这是个正则表达式的一部分,怎样允许出现中文,大家给帮帮忙吧!呵呵~~~

make3782 发表于 2007-11-30 13:44:04

明白了。没看到config的这项。
中文改怎么出现呢?我记得中文编码在"HEX"里好像有个范围的,什么0x.....什么的~:lol

Hex 发表于 2007-11-30 14:03:00

应该是吧,你去 google 搜索一下识别中文的正则表达式,应该很好找。
不过还是不建议你在URL使用中文,因为你可能会遇到编码问题,Windows IIS 可能会给你的中文自动转成 GB2312,你会很郁闷。

syd 发表于 2007-11-30 16:57:29

可以使者把中文经过 url_encode一下。。然后传入时在decode。。。

make3782 发表于 2007-11-30 17:04:50

原帖由 Hex 于 2007-11-30 07:03 发表 http://codeigniter.org.cn/forums/images/common/back.gif
应该是吧,你去 google 搜索一下识别中文的正则表达式,应该很好找。
不过还是不建议你在URL使用中文,因为你可能会遇到编码问题,Windows IIS 可能会给你的中文自动转成 GB2312,你会很郁闷。 ...

恩,其实在正常开发的话我觉得应该是不会用到中文参数的,这个只是在测试,呵呵,另外我向来都用apache,iis很少用。谢谢


原帖由 syd 于 2007-11-30 09:57 发表 http://codeigniter.org.cn/forums/images/common/back.gif
可以使者把中文经过 url_encode一下。。然后传入时在decode。。。。 ...
恩,你说的这个办法很对,我之前也是用这个办法解决的,但是有个巧合是正好我在传这个参数的时候是在js里传的,我想ajax的话很有可能会用到。
如果用程序urlencode的话是没问题的~

yymawei 发表于 2007-12-4 16:15:54

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_-';

换成
$config['permitted_uri_chars'] = '.*';
什么字符都通过,呵呵:lol

Hex 发表于 2007-12-4 17:37:18

在正则的 [] 中也能用 .* 吗?

gaochao 发表于 2007-12-4 23:07:27

中文好啊
等咱打下全世界,那个url都这么写:“网址冒号斜杠斜杠万维网点域名点公司”

Hex 发表于 2007-12-5 01:52:19

:L 很好很强大
页: [1] 2
查看完整版本: CI中的URL中是不是不可以出现中文?