■環境
MAMP
CakePHP 1.3.13
プラグイン CakeDC Search
■現象
CakeDC Searchプラグラインを使って、検索入力フォームに
日本語を入れてPOSTで検索をすると、入力フォームの
日本語がURLエンコードされた値に変換されてしまう。
その間、URLパラメータは逆に日本語が入る。
■原因
CakeDC SearchプラグインがURLエンコードを
かけない処理にしているため。
■対策
ContrlloerでCakeDC Searchプラグインを使う際に
'encode' => true をセットすればOK。
var $presetVars = array(
array('field' => 'name', 'type' => 'value', 'encode' => true),
);
対策など詳細。
#23: URL Encoding - Issues - CakeDC/search - GitHub
→ For example, "word1 word2" queries correctly, but is displayed in the input field as "word1%20word2".