« 買い物メモ12/27 | トップページ | ブックマークレットのウィンドウスクロールをできるようにする(コア改造) »

2010年9月 6日 (月曜日)

全角空白(スペース)で検索できない対策

Nucleus CMS v3.41の最新バージョンを使っているのだけど、全角スペースが入ったキーワードで検索すると、全角スペースを単語の分け目として認識してくれない。例えば、データベースに「矢沢 (半角スペース)永吉」で登録していて、「矢沢 (全角スペース)永吉」と検索すると、引っかからない。

NucleusのコアをいじるのはなれっこなのでSEARCH.phpを見てみると、43行目に「$text = str_replace ("\xE3\x80\x80",' ',$text);」というのがあったので、「\xE3\x80\x80」ってなんだろ、と検索。どうやら全角空白のことらしい。でもこれを見る限り、全角空白を半角空白に変換するようコーディングは正しいし、なんでかな~と数分間悩んだ挙げ句、ようやく日本語トラブルのおきまり“文字コード”を思い出した。

調べてみると、「\xE3\x80\x80」は全角空白なんだけど、文字コードがUTF-8だった。うちでは文字コードeucで運用しているので、「\xA1\xA1」にしないとだめ。44行目に「$text = str_replace ("\xA1\xA1",' ',$text);」を追加したら、無事検索できるようになりました。

|

« 買い物メモ12/27 | トップページ | ブックマークレットのウィンドウスクロールをできるようにする(コア改造) »

Nucleus」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« 買い物メモ12/27 | トップページ | ブックマークレットのウィンドウスクロールをできるようにする(コア改造) »