- 締切済み
MySQLで日本語検索
MySQL初心者のものです。 今PHPとMySQLを利用して検索システムを作っています。 しかし日本語検索がどうしてもうまくいきません。 一応「教えてgoo」でも探してみたのですが、解決しませんでした。 MySQLで、 テーブル名 table フィールド名 field とすると、 select * from table where field like '%キーワード%'; のように検索してみたのですが、思うような結果が返ってきません。 ネットで検索すると「senna」をインストールと書かれていましたが、 そういったものをインストールしなければMySQLで日本語検索は出来ないものなのでしょうか? ちなみに MySQL5.0 PHP5.2.1 を利用しています。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.2
#1さんのおっしゃるように文字コードの問題でしょう。 それとは別にそもそもSQLで'%キーワード%'という表現はパフォーマンスが期待できません。 なお日本語全文検索については別途工夫が必要です。
- chukenkenkou
- ベストアンサー率43% (833/1926)
回答No.1
MySQLの文字コードは、何を使用していますか? MySQL Command Line Client等での「status」コマンドの表示内容か、 SQLが実行できる状態で、「show variables like '%char%'」での表示結果を教えてください。 >検索してみたのですが、思うような結果が返ってきません 具体的に、どんな検索キーワードで、結果はどうなったのでしょうか? ※この質問内容からだけでは、SJISの'5C'問題なのか判断できません。
補足
「show variables like '%char%'」での表示結果です。 mysql> show variables like '%char%'; +--------------------------+---------------------------------------------------- -----+ | Variable_name | Value | +--------------------------+---------------------------------------------------- -----+ | character_set_client | ujis | | character_set_connection | ujis | | character_set_database | ujis | | character_set_filesystem | binary | | character_set_results | ujis | | character_set_server | ujis | | character_set_system | utf8 | | character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\chars ets\ | +--------------------------+---------------------------------------------------- -----+ ショッピングサイトを作っていて、例えば「えんぴつ」と検索した結果は、 Empty set となっていしまいます。(えんぴつは登録してあります。)