• ベストアンサー

PHP+MySQLでの検索処理について

PHP+MySQLで部分一致検索の処理を作成しているのですが ある文字は正常に検索できてある文字は正常に検索できていないといった文字によって動きが異なります。 原因が不明なのでどなたか教えてください。 ちなみに検索文を作成する時は「mb_convert_encoding」を使用して入力された文字を「SJIS」⇒「UTF8」に変換しています。

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

  • ベストアンサー
  • fire--
  • ベストアンサー率49% (146/293)
回答No.1

PHPとかMySQLの世界は、基本はEUC-JPですね。 UTF-8で処理したい場合は、周辺の環境設定がどうなっているのか 確認し、必要に応じて修正する必要があります。 まずはphpinfo()で環境を確認してみてはどうでしょう。

morimori7
質問者

補足

ありがとうございます。 DB登録時はUTF8で登録しております。 検索字には検索条件を「mb_convert_encoding」で 「SJIS」⇒「UTF8」にエンコードしておりますが 他にどこの環境設定が必要でしょうか?

その他の回答 (2)

  • fire--
  • ベストアンサー率49% (146/293)
回答No.3

答える側は、この掲示板の情報のみしかわかりません。あなたのプログラムのソースも見えないし、どう「動きが異なる」のか、またエラーメッセージが出ているのか/いないのか、出ているのならどんなメッセージが出ているのかも判りません。 phpinfo()で判るmb環境とかソースとかが出てくれば、答えてくれる人も出てくるかもしれません。

morimori7
質問者

お礼

ありがとうございます。 もう少し情報をまとめて再度質問させて頂きます。

回答No.2

原因はUTF-8よりもSJISだとおもいます。 PHPとMySQLのバージョンとソースを見てみないことにはなんとも言えませんが 5Cコード含みの文字、通称「馬鹿文字」を使用した場合に起こるのではないでしょうか? 不具合が以下の文字を使用した場合に起こっているのではないかどうか調べてみてください。 ―,ソ,Ы,IX,噂,浬,欺,圭,構,蚕,十,申,曾,箪,貼,能,表,暴,予,禄 兔,喀,媾,彌,拿,杤,歃,濬,畚,秉,綵,臀,藹,觸,軆,鐔,饅,鷭,偆,砡

morimori7
質問者

補足

有難うございます。 PHPのバージョンは4.4.2で、 MySQLのバージョンは4.0です。 教えて頂いた文字以外にもカナ文字でも 正常に検索されませんでした。