• ベストアンサー

like で検索をすると出る場合と出ない場合がある理由は?

MySQLに郵便番号データ(UTF-8)を入れて、phpmyadmin内で以下のように検索をかけました。 SELECT * FROM `post` WHERE `city` LIKE '%吾川郡いの町%' これは無事抽出されました。 ところが、以下を実行すると何も抽出されません。 SELECT * FROM `post` WHERE `city` LIKE '%いの町%' 範囲を広げたのに何故・・・という感じなのですが、考えられる要素は何かお分かりでしょうか。

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

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.3

> my.cnfというファイルが見当たらなかったのですが、2.9.2だからでしょうか。 Mysqladminは関係ありません。 Mysqlをインストールした際に作製する設定ファイルです。 OSがWindowsの場合はmy.iniになります。 > ※"Latin"という文字はこのファイル内には見つからず 'iso-8859-1'というのがLatin-1そのものです。 >$cfg['DefaultLang'] = 'en-iso-8859-1'; >$cfg['DefaultConnectionCollation'] = 'utf8_unicode_ci'; >$cfg['DefaultCharset'] = 'iso-8859-1'; ここにどのような設定を入れればいいのかは分かりませんが、utf8を設定しすれば正常に動作する可能性もあります。

abiru
質問者

お礼

default-character-set=ujis となってました。 phpMyAdminの環境変数画面で確認できました。 EUC-JPで処理するようにしたいと思います。 ありがとうございました。

abiru
質問者

補足

ありがとうございます。 OS側ですね。 レンタルサーバーのコンパネからインストールしたものなので、サーバー管理会社に聞いてみたいと思います。 >utf8を設定しすれば正常に動作する可能性もあります utf8とutf-8で試してみましたが、状況は変わりませんでした。 エラーにすらならないので、ここの設定に意味があるのかどうかも良く分かりませんが・・・(汗)

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

my.cnfは正しく設定されていますか?

abiru
質問者

お礼

my.cnfというファイルが見当たらなかったのですが、2.9.2だからでしょうか。 以下のファイルは違いますよね? libraries/config.default.php $cfg['DefaultLang'] = 'en-iso-8859-1'; $cfg['DefaultConnectionCollation'] = 'utf8_unicode_ci'; $cfg['DefaultCharset'] = 'iso-8859-1'; ※"Latin"という文字はこのファイル内には見つからず

すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

MySQLの言語がまちがっていてデフォルトのLatinあたりになっていると よくその手のことが起こると聞きますが・・・。

abiru
質問者

お礼

ご回答ありがとうございます。 ログイン時に日本語(utf-8)を選択してログインしているのですが、これだけでは不十分でしょうか。 ちなみに phpMyAdmin - 2.9.2 です。

abiru
質問者

補足

「MySQL のシステム変数」を確認したところ、下記のようになっていました。 character set ujis character sets ujis big5 czech euc_kr gb2312 gbk latin1_de sjis tis620 dec8 dos german1 hp8 koi8_ru latin1 latin2 swe7 usa7 cp1251 danish hebrew win1251 estonia hungarian koi8_ukr win1251ukr greek win1250 croat cp1257 latin5 character setsにutf8が見つからないということは、使えないということなのでしょうか・・・?

すると、全ての回答が全文表示されます。

関連するQ&A