• ベストアンサー

like句を使って日本語を検索する場合

初心者です。よろしくお願いします。 like '%日本語%' のように検索をすると、拾える言葉と拾えない言葉があります。 たとえば、カタカナの「レ」など漢字の場合は「表」や「詐」などの言葉を検索しても拾えません。 対処法などありましたら是非、教えてください。 よろしくお願いします。

  • melll
  • お礼率50% (114/227)
  • MySQL
  • 回答数3
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • ryn
  • ベストアンサー率42% (156/364)
回答No.3

同じ問題に直面して困っていたのですが, 私の環境では  LIKE BINARY '%日本語%' のようにすると上手くいきました. 下記URLも参考になると思います.

参考URL:
http://www.mysql.gr.jp/mysqlml/mysql/msg/7140

その他の回答 (2)

回答No.2

#1回答者です。 文字コードがどういう風に有効になっているか知りたいので、#1質問のようにstatusコマンドを入力して、結果をコピー&ペーストできますか? 表定義と格納データ、検索条件(検索できるケース、できないケース)も記載できませんか?

melll
質問者

お礼

度々ありがとうございます。 >検索できるケース、できないケース ですが、例えば「スレッド」 のキーワードでは 検索できる 「レッド」「ス」「レ」「ッ」 検索できない 「スレッド」「スレ」 です。なぜか「ス」と「レ」を組み合わせるとできなくなります。 statusコマンドですが、色々検索などして調べたのですが、やり方が良くわかりません・・・ よろしくお願いします。

回答No.1

MySQLのバージョンは? 文字コードは何ですか? 私の環境は以下の通りですが、MySQL Command Line Clientでは問題なく検索できました。 mysql> status -------------- C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql.exe Ver 14.12 Distrib 5.0.19, for Win32 (ia32) Connection id: 1 Current database: test1 Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 5.0.19-nt Protocol version: 10 Connection: localhost via TCP/IP Server characterset: sjis Db characterset: sjis Client characterset: sjis Conn. characterset: sjis TCP port: 3306 Uptime: 40 min 13 sec Threads: 1 Questions: 11 Slow queries: 0 Opens: 2 Flush tables: 1 Open tabl es: 1 Queries per second avg: 0.005 --------------

melll
質問者

お礼

ご返信ありがとうございます。 mysqlはさくらインタネットを利用していて バージョンはMySQL 4.0.2xです。 文字コードはShift_JISです。 文字コードに問題があるのでしょうか・・・・

関連するQ&A

  • 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 (適宜改行しております。) ------------------------------------------------------------------ 宜しくお願いします。

  • 日本人と日本語について

    日本人は平仮名カタカナ漢字、英数字など使い分けています。 カタカナを使って表現が絶妙な時もあります。 中国ではなんでも漢字で表します。 韓国はハングル文字と漢字です。 アメリカは英数字などだと思います。 他に知ってるのはフランス語です。 フランスは数字の表現が変だと思いました。 それぞれのお国柄で異なると思います。 ところでプログラミング言語は英数字ですね。 日本人の弱いところにもなるようです。 母国語の意味。 日本の言葉は奥が深くてとても難しいと思います。 日本語の表現についてのご考察をお願い申し上げます。

  • プレーオフは日本語で何と訳せますか

    この頃よく聞く言葉です。カタカナ語は好きではないのですが、複雑なことを簡便に表現するためには便利なのかなと思います。日本語というか漢字を使った言葉に訳せるでしょうか。

  • 日本語について

    日本語では、幾つの文字を使うのでしょうか? 例えば英語だとA~Zの26文字ですが、 日本語だと、ひらがな、カタカナ、漢字、 時にローマ字も使ったり。 おおよそでいいので、特に漢字の文字数を ご存知の方、教えて下さい。自分で調べようと 検索を試みましたが、ヒットしませんでした。

  • Google検索で中国語を表示させたくない

    Googleで漢字だけ入力して検索すると、ほとんどの場合中国語のウェブサイトが出てきます。 なので、いつも、「の」とか「に」とか簡単な日本語を入れて日本語のウェブサイトを検索しています。 ちょっと不便なので、漢字だけ入力しいた時に日本語のウェブサイトのみ表表示にするにはどうしたらいいでしょうか?

  • 日本語

    日本語がどうやって出来たのか教えてください。 漢字は中国からやってきたのですよね? ひらがなやカタカナは、日本の人が作ったんですよね? なんでひらがなやカタカナを作ったんでしょうか?知っている方がいたら教えてください。お願いします。

  • 検索入力時の、日本語(漢字、カタカナ)への変換について

    日本語への変換が良くわかりません。どなたか教えていただけませんか? Safaridなどのソフトで、検索する際「検索値」に入力するとき、又イラストレーターなどで文字を入力するとき、アルファベットならば小文字、大文字、入力簡単なのですが、日本語にして、それを漢字やカタカナに変換する際、シフトを押すとその入力欄でなく、別に小さな横長いウインドウ(?)が開きそこに、今入力した日本語が入っています。    そして、その小さなウインドウの中で無事希望の漢字に変換した後、Enterを押しても、「検索値」の欄に、日本語が移動せず困っています。 iMac使用、Mac初心者、OSX、9使用。 どうぞ、よろしくお願い致します。。  

    • 締切済み
    • Mac
  • MySQL WHERE句のLIKE検索

    初心者ですみません。 MySQL WHERE句のLIKE検索で、引っかかった文字列を 除いた項目を表示させるにはどうしたらいいでしょうか。 例えば、 SELECT * from [テーブル名] where [フィールド名] like '%あ%'; として、「あ」が入っているレコードを検索し、 該当しないレコードを表示させる。 どうか教えてください。よろしくお願いします。

  • 日本語に関して

    なんで、日本語は、中国(漢字)・カタカナ(アメリカ)からきてるの?

  • 複数カラム検索で、LIKE "%検索語%"

    複数カラム検索をしたいと思い、リンク先の通り、 WHERE concat(field1,char(0),field2) LIKE "%検索語%" としたらうまくいったのですが、 そのページに書いてあることが気になるので、教えてください ▽MySQLで複数フィールドから同一語を検索するには・・・ - MySQL - 教えて!goo   http://okwave.jp/qa/q2634613.html ・char(0)て何でしょうか? >%データ%は全件を検索するため効率うんぬんを論ずるような仕組みではない ・どういう意味でしょうか? ・全件検索する際は、LIKE検索を使わないのでしょうか? 全文検索エンジン(?)を利用するのでしょうか? ・全件検索しなければ(例えば2カラムだけ)、LIKE検索を利用しても良いのでしょうか? ・あるいは、データ規模が少なければ、LIKE検索を利用しても良いのでしょうか? >本番ではこんなことはしませんがあくまでも遊びということで ・どういう意味でしょうか? ・concatで LIKE 検索を普通はしない、ということでしょうか? ・それとも、LIKE 検索で、char(0)などのセパレータを挟まない、ということでしょうか? ・あるいは、全件検索でLIKE検索を普通は使わない、ということでしょうか?

    • ベストアンサー
    • MySQL