CakePHP v2.0 和命名参数
我正在将网站迁移到 cakephp v2.0。在某些时候,我使用带有希腊字符的链接:
contents/library/category:κατηγορία
如果我 pr() 或 debug() $this->request->named['category'] 输出显示为 %CE%88%CE%BD%CF %84%CF%85%CF%80%CE%B1%20%CE%94。
因为它被传递给查找查询,所以它不返回任何数据。在 v1.3 中,字符没有转义。有什么改变吗?我什至尝试过 debug($var,false);但同样的情况也会发生。
I am migrating a site to cakephp v2.0. In some point I use a link with greek charactes:
contents/library/category:κατηγορία
If I pr() or debug() $this->request->named['category'] the output is shown with %CE%88%CE%BD%CF%84%CF%85%CF%80%CE%B1%20%CE%94.
And because it is passed to a find query it returns no data. In v1.3 the characters wasn't escaped. Has something changed? I even tried debug($var,false); but the same happens.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当您通过 HTMLHelper 创建 URL 或从 FormHelper 接受 URL 时,它们现在会自动转义以防止恶意 URL 操作;非拉丁字符与所有非(拉丁)字母数字字符一样被转义。为了避免这种情况,请在选项数组中将“escape”设置为
false
,如以下来自 CakePHP 2.0 书:When you're creating your URL via the HTMLHelper or accepting them from FormHelper they are automatically escaped now to prevent malicious URL manipulation; non-latin characters are escaped as are all non-(latin)alphanumeric characters. To avoid this set 'escape' to
false
in the options array, like the below example from the CakePHP 2.0 book: