フォームから入力した文字で検索できるPHPシステムがあり、
「Ⅱ」という文字で検索したところエラーが表示されました。
○エラー内容
Fatal error: Call to undefined function: numrows() in /index.php on line 111
○エラーが出たコード
$result = $conn->query($sql);//レコードカウント
$this->data_count = $result->numRows();//レコードカウント
$result = $conn->limitquery($sql,$record_first,$record_count);//結果取得
○SQLを表示させたら次のように文字化けしていました。
key LIKE '%AGュカ%'
※原文SQLは、key LIKE '%$key%'のような形です。
○その他
入力値には、mysql_escape_stringをかけています
上記エラーを解決する方法をご教示ください。
フォームから受け取った文字列をどのように(PHP自身が、あるいはスクリプトで)変換しているのか不明ですが、機種依存文字の変換でミスをしているのかも知れません。
もしそうなら、下記記事が参考になりませんか?(ご利用のシステムのPHPのバージョンによっても反応が異なるようです)
http://shimax.cocolog-nifty.com/search/2007/12/phpeucjputf8_f714...
機種依存文字だったのですね。
対応方法も載っていてたいへん参考になりました。
ありがとうございました。