• 締切済み

検索に関する文字コード

指定した文字列を元にデータベースよりデータを検索する プログラムを作成したんですが、下記のような不具合が 発生します。 1.例として"ABC DEF"というようにスペースが間に入っている文字列をURLの後に"http://www.aaa.com/test.php?test=ABC DEF"という風にして送ってやり、test.php側で $_GET["test"]として受け取った時に"ABC"となりスペースの前で区切られてしまいます。 2.HTML上のテキストボックスに"ABC CDF"という風に入力してtest.phpに送った場合、test.phpでは文字化けされた状態で受け取ってしまう。 3.特定はできませんが、日本語文字列でも文字化けするものとしないものがあります。 こういった現象から正しく検索処理が行えません。 ちなみに文字コードはすべてEUCで統一しています。 色々調べてはみたんですが、原因がよくわかりません。 解決策等ご存知でしたら教えていただけますよう 宜しくお願い致します。

みんなの回答

noname#225520
noname#225520
回答No.2

すみません、検索文字列でしたよね。 ブラウザは半角スペースを+に変換してからデータを渡します。受け側のCGIスクリプトでのデコードの方法を見直してみるのが良さそうです。

noname#225520
noname#225520
回答No.1

こちらをご覧ください。CGIデータのエンコードはスペース文字は使えないようです。できれば日本語も使わない方が良さそうです。

参考URL:
http://tohoho.wakusei.ne.jp/wwwcgi3.htm#CgiEncode
fun-tec
質問者

お礼

UrlEncode,UrlDecode関数で対応できました。 早速ご回答いただきありがとうございました。 教えていただいたサイトも参考にさせていただきます!

関連するQ&A