2011-08-25 77 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