CodeIgniterでJSON文字列を含むURIを使う

タイトルのままですが、CodeIgniter 1.6.2 のデフォルト状態でJSONを含むURI文字列を使う事が出来なかったのでメモ。

やりたいこと

URIにJSON文字列を含める。

http://localhost/index.php/hoge/get/{"hoge": "hogehoge"}

こんな感じのURI。実際にはJSON文字列をURLエンコードしますが…。

対処法

system/application/config/config.php の $config['permitted_uri_chars'] を弄ればいいらしい。

// $config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-\,\[\]\{\}\"';

たぶんこれで良いと思うけど、正しい方法なのかはよくわからない。