日期:2014-05-17  浏览次数:20414 次

urlencode的问题奇怪了,请教大家
我想把字符串“('baidu')中”用php的urlencode函数输出这样的字符串:('baidu')%e4%b8%ad

但实际上输出:%28%27baidu%27%29,

我在百度搜索关键字:在线url编码,结果排名第三的是:百度应用的一个url编码小程序,在那个用utf8编码就可以输出:

('baidu')%e4%b8%ad,请问为什么啊?

当然字符串当中汉字“中”,生成的不一样无所谓,因为我的源代码是utf8,的,所以,但是我就奇怪了怎么才能让php
的urlencode()函数,不编码逗号和小括号呢?


------解决方案--------------------
string urlencode ( string $str )
返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。

百度那个并不严格,如果你不希望转码括号,可以对转码后的结果用 str_replace('%28', '(', $enstr) 替换过来

------解决方案--------------------
百度那个就是不准,我用过.