CodeIgniterで日本語URI

トラックバック(0) コメント(0)
http://kashioka.net/index.php/test/hoge/日本語/のようなURIを使おうとすると
The URI you submitted has disallowed characters.
というエラーが発生した。
パラメタを扱うときに行っている正規化表現に含まれていないため発生してしますようだ
/config/config.php内の
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_-';
の部分を
$config['permitted_uri_chars'] = '一-龠ぁ-んァ-ヴーa-zA-Z0-9a-z 0-9~%.:_-';
と変更し
config.phpファイルに感じを利用したために
nkfにて文字コードをUTF8に変換したところエラーが解消し
利用することが可能となったがURIの仕組みによってまだエラーが出るので
libraries/URI.php
のpregをかけている部分
if ( ! preg_match("|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i", $str))

if ( ! preg_match("/|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i/u", $str))
としてUTFでマッチさせてみたらエラーには解消された
結構強引に修正してしまったけど
正しい方法はどうなんでしょうか?(汗

トラックバック(0)

このブログ記事を参照しているブログ一覧: CodeIgniterで日本語URI

このブログ記事に対するトラックバックURL: http://kashioka.net/cgi-bin/mt/mt-tb.cgi/175

コメントする

最近のブログ記事

windows XP でネットワークが表示されない
システムが不安定になっていたマシンがあっ…
MySqlインサート時の文字化け
最近は全部UTF8で作成しちゃっててPH…
Vistaにおけるhostsファイルの書き換え
DNS設定が完了するまでhostsファイ…