- 締切済み
MySQLの日本語LIKE検索について
お世話になります。 MySQLを使用して、日本語のLIKE検索について期待する結果が得られず困っております。 ご教授いただきたく投稿させていただきました。何卒宜しくお願いします。 ●期待する結果 日本語を含むフィールドを対象にLIKE検索を実行し、該当するレコードを抽出したい。 ●現状の結果 検索する文字列によって、全く関係のないレコードが含まれる場合がある。 ※正しく結果を得られる場合もあります。 (特に漢字一文字などの場合が多い様な気がします。) ●SQL SELECT * FROM t_product WHERE detail LIKE '%日本語の文字列%'; 因みに環境他は以下のとおりです。 ------------------------------------------------------------------ 環境 ------------------------------------------------------------------ OS:RedHatES2.1 MySQL:3.23.58 ------------------------------------------------------------------ /etc/my.cnf ------------------------------------------------------------------ [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock [mysql.server] user=mysql basedir=/var/lib [safe_mysqld] err-log=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid ------------------------------------------------------------------ PHPMyAdminで実行 ------------------------------------------------------------------ SHOW VARIABLES LIKE '%char%' character_set->latin1 character_sets->latin1 big5 cp1251 cp1257 croat czech danish dec8 dos estonia euc_kr gb2312 gbk german1 greek hebrew hp8 hungarian koi8_ru koi8_ukr latin2 latin5 swe7 usa7 win1250 win1251 win1251ukr ujis sjis tis620 (適宜改行しております。) ------------------------------------------------------------------ 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- uki629
- ベストアンサー率23% (40/172)
>character_set->latin1 latin1はヨーロッパ圏で利用される文字コードですよ。 せめてUTF8,EUC-JP,S=JISを利用しましょう。 PHPMyAdminを使っているようなので各文字セットに関しては トップページの「文字セットと照合順序」から説明を見ることができます。
- inu2
- ベストアンサー率33% (1229/3720)
文字コードの問題では?
お礼
inu2様 お返事遅くなりまして申し訳ございません。 ご回答有難うございます。 文字コードの問題なのは、何となくですが分かっているのですが・・・具体的な解決策、ヒントなどお教えいただけないでしょうか? 宜しくお願いします。
お礼
uki629様、ご回答有難うございます。 お伝えする情報が不足しておりました。申し訳ございません。 phpMyAdminのバージョンは2.5.3で少々古いものです。 「文字セットと照合順序」の代わりに「Language」がございます。 ここには、japanese(ja-euc)がデフォルトの設定になっています。 (その他プルダウンの日本語関連のメニューは、japanese(ja-sjis)があります。) やはり、MySQLの再コンパイルが必要なのでしょうか?