プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (3件)

PHPとかMySQLの世界は、基本はEUC-JPですね。



UTF-8で処理したい場合は、周辺の環境設定がどうなっているのか
確認し、必要に応じて修正する必要があります。

まずはphpinfo()で環境を確認してみてはどうでしょう。

この回答への補足

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

補足日時:2006/07/21 14:38
    • good
    • 0

原因はUTF-8よりもSJISだとおもいます。



PHPとMySQLのバージョンとソースを見てみないことにはなんとも言えませんが
5Cコード含みの文字、通称「馬鹿文字」を使用した場合に起こるのではないでしょうか?


不具合が以下の文字を使用した場合に起こっているのではないかどうか調べてみてください。

―,ソ,Ы,IX,噂,浬,欺,圭,構,蚕,十,申,曾,箪,貼,能,表,暴,予,禄
兔,喀,媾,彌,拿,杤,歃,濬,畚,秉,綵,臀,藹,觸,軆,鐔,饅,鷭,偆,砡

この回答への補足

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

補足日時:2006/07/21 14:51
    • good
    • 0

答える側は、この掲示板の情報のみしかわかりません。

あなたのプログラムのソースも見えないし、どう「動きが異なる」のか、またエラーメッセージが出ているのか/いないのか、出ているのならどんなメッセージが出ているのかも判りません。

phpinfo()で判るmb環境とかソースとかが出てくれば、答えてくれる人も出てくるかもしれません。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/07/24 09:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!