• 締切済み

PHP+SQLで検索プログラム SJISでの問題

上記のとおりPHPからselect文でDBに接続し検索するプログラムを作っています。 よろしくお願いします。 MySQL、PHPともに設定ファイルを変更する権限を持っていません。 まず検索するときにフォームから値を渡すのですが Shift-JISおなじみの5c問題が出てきます。 DBに「予感」という文字データがあるとしてフォームから検索すると 「予\感」として検索してしまい正しく検索されませんでした。 stripslashes関数を使っても変化もありませんでした。 それにフォームで値を受け渡しをしているのでフォームの入力欄に残る 「予\感」もなんとかしたいですがどのタイミングでエスケープ処理をすればいいか分かりません。 ちなみに「予\感」を検索したあとまた検索していくと「\\\」「\\\\\」と¥が増えていきます。なので2回目では正しく実行されました。

みんなの回答

  • memphis
  • ベストアンサー率40% (975/2395)
回答No.1

フォームのSJISからUTFに変更すれば良いだけでは?

rety87
質問者

お礼

どうしてもSJISで処理しなければならないので文字コードの変更は考えておりません。 フォーム部分だけUTFにして後にSJISに変換は試みたんですがうまくいかなかったので… addslashesを使うことで自己解決しました。ありがとうございました。

関連するQ&A