CodeIgniterでURLに全角文字とか使う

もう3月だった。
CodeIgniterでURLに検索文字列含めたいっていうケースが出てきた。なんとなく怒られそうな気がしながらも試しに使ってみると、

あぁ、やっぱり。


CodeIgniterではURLに含められる文字列がconfig.phpの中に定義されています。

<?php

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';

?>

正規表現形式で許可する文字列が定義されています。マルチバイト圏終了のお知(ry
これでは困るから、それじゃあここに使用したい文字を追加すればいいかってなるけど、日本語だけじゃなく他の文字とかも対応したいとなるとちょっと辛い。
そういう時はこうすると簡単に全ての文字を許可できます。

<?php

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

?>

消すだけ。
こうするとURLに何を含もうがCodeIgniterは何も言ってこなくなります。
実際にCodeIgniterの中では$config['permitted_uri_chars']はこんな風に使われています。
|