2011-08-25 92 views
2

在cakephp中,我想使用可能包含一些特殊字符(如é或è)的url参数。CakePHP的url参数编码问题?

当我打印$这个 - > PARAMS [ '链接']这个网址,例如: http://dev.family/registration?fname=kr%E9s

我得到: Array ([url] => registration [fname] => kr�s)

所以电子成为一个问号。

我试过urldecode,但我没有帮助。我想这与UTF-8编码有关,但我不知道在哪里搜索。

有什么建议吗?

Krikke

+0

你使用什么字符编码? – mcrumley

+0

它应该是UTF-8,但我想这不是。我怎样才能确保它是UTF-8?我需要在配置中更改某些内容吗? –

回答

1

我刚刚解决了这个问题,这要归功于B7ackAnge7z。

htmlentities功能起作用,但将krés转换为krés。这解决了问号的问题。

但是..我想用这个值来预先填写表单输入。所以输入将包含krés,这不是我所满意的。

所以我现在这个值充液它:

html_entity_decode(htmlentities($this->params['url']['fname']), ENT_COMPAT, 'UTF-8') 

- >转换与ヶ辆的值,然后再次将其解码为UTF-8。 有点肮脏的修复...

我想cake不会将URL参数解码为UTF-8的默认值,或者我应该担心我的蛋糕项目中的编码问题?

Thx!

+0

尝试'utf8_encode($ this-> params ['url'] ['fname'])' – mcrumley