CakePHP编码html实体

时间:2010-11-24 23:02:53

标签: html cakephp url-encoding

问候,

我遇到一个奇怪的问题,即通过URL路径发送到Cake的数据。如果路径包含url编码实体,则编码的字符似乎被剥离,并且URL路径的其余部分未传递给我的控制器。例如:

http://mydomain.com/products/search/pants+%26%2A%25+shoes/1/pg-2/

这应该将字符串pants &*% shoes作为第一个参数传递给我的产品控制器的search()操作,其中两个参数为1pg-2。但我只是将pants(带尾随空格)作为第一个arg而没有第二个或第三个arg。我确保没有使用Sanitize类,我设置了Configure::write('App.encoding', 'UTF-8');

有什么想法吗?

谢谢束,

-saturn

更新: Cake将%26视为查询字符串参数的&符号分隔符。 Cake不应该知道查询字符串分隔符和文字字符之间的区别吗?或者我错过了明显的流血事件? (我已经工作了很多时间......)

更新2:我认为这可能是个错误。如果我传递的网址如下:

http://mydomain.com/products/search/?q=pants%20%2A%24%25%5E%26%20shoes&cat=1&pg=2

Cake正确解析它,也就是说,各种args在$this->params['url']中存储为查询字符串参数。打嗝似乎仅在URL路径中使用编码的&符时。

顺便说一下,我正在使用最新的Cake 1.3.6。

我很想知道别人对此的看法。感谢。

0 个答案:

没有答案