用户
 找回密码
 入住 CI 中国社区
搜索
查看: 14448|回复: 19
收起左侧

[已解决] CI中的URL中是不是不可以出现中文?

[复制链接]
发表于 2007-11-30 13:31:41 | 显示全部楼层 |阅读模式
如题,比如这句:
  1. http://localhost/index.php/user/create/李连杰
复制代码
,换句话说,就是说user类中create这个方法的参数是不允许中文的对吧?
偶是新手。
发表于 2007-11-30 13:37:45 | 显示全部楼层
是的,这里最好不要用中文,但,是可以修改的。
在 config.php 中有个配置选项:
  1. /*
  2. |--------------------------------------------------------------------------
  3. | Allowed URL Characters
  4. |--------------------------------------------------------------------------
  5. |
  6. | This lets you specify which characters are permitted within your URLs.
  7. | When someone tries to submit a URL with disallowed characters they will
  8. | get a warning message.
  9. |
  10. | As a security measure you are STRONGLY encouraged to restrict URLs to
  11. | as few characters as possible.  By default only these are allowed: a-z 0-9~%.:_-
  12. |
  13. | Leave blank to allow all characters -- but only if you are insane.
  14. |
  15. | DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!!
  16. |
  17. */
  18. $config['permitted_uri_chars'] = 'a-z 0-9~%.:_-';
复制代码
大概意思就是说,允许出现在URL中的字符,这是个正则表达式的一部分,怎样允许出现中文,大家给帮帮忙吧!呵呵~~~
 楼主| 发表于 2007-11-30 13:44:04 | 显示全部楼层
明白了。没看到config的这项。
中文改怎么出现呢?我记得中文编码在"HEX"里好像有个范围的,什么0x.....什么的~
发表于 2007-11-30 14:03:00 | 显示全部楼层
应该是吧,你去 google 搜索一下识别中文的正则表达式,应该很好找。
不过还是不建议你在URL使用中文,因为你可能会遇到编码问题,Windows IIS 可能会给你的中文自动转成 GB2312,你会很郁闷。
发表于 2007-11-30 16:57:29 | 显示全部楼层
可以使者把中文经过 url_encode一下。。然后传入时在decode。。。
 楼主| 发表于 2007-11-30 17:04:50 | 显示全部楼层
原帖由 Hex 于 2007-11-30 07:03 发表
应该是吧,你去 google 搜索一下识别中文的正则表达式,应该很好找。
不过还是不建议你在URL使用中文,因为你可能会遇到编码问题,Windows IIS 可能会给你的中文自动转成 GB2312,你会很郁闷。 ...


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


原帖由 syd 于 2007-11-30 09:57 发表
可以使者把中文经过 url_encode一下。。然后传入时在decode。。。。 ...

恩,你说的这个办法很对,我之前也是用这个办法解决的,但是有个巧合是正好我在传这个参数的时候是在js里传的,我想ajax的话很有可能会用到。
如果用程序urlencode的话是没问题的~
发表于 2007-12-4 16:15:54 | 显示全部楼层
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_-';

换成
$config['permitted_uri_chars'] = '.*';
什么字符都通过,呵呵
发表于 2007-12-4 17:37:18 | 显示全部楼层
在正则的 [] 中也能用 .* 吗?
发表于 2007-12-4 23:07:27 | 显示全部楼层
中文好啊
等咱打下全世界,那个url都这么写:“网址冒号斜杠斜杠万维网点域名点公司”
发表于 2007-12-5 01:52:19 | 显示全部楼层
很好很强大

本版积分规则