- ベストアンサー
日本語をパラメータに表示させるには?
いつもお世話になっています。 <input type="text" name="keyword" size="20"> 上記のkeywordに「あいうえお」と入れFORMからGET送信をするとアドレスのパラメータは「&keyword=%A5%B7%A5%E7%A5%C3%A5%D7」となるのですが、これを「&keyword=あいうえお」というようにすることは可能でしょうか? 送信フォーム・受信フォーム共にPHPファイルで文字コードはEUC-JPを使用しています。 2バイト文字のまま次のファイルへ引き渡したいと考えています。 以上何卒よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
MSIE7 と FireFOX2で試してみましたが 1.FORMで平文を送る<form enctype="text/plain" というものが有りますが http://www.tagindex.com/html_tag/form/form_enctype.html 少なくとも現在のブラウザではGET、POSTとも<Form action="mailto:***@****" の場合を除いて無効のようです 2. 一旦 CGI/PHPで受けてデコードして平文にし Location: http://example.com/hoge.cgi?key=あいうえお \n\n で飛ばす方法も有りますが MSIE7ではそのまま日本語有効ですが FireFOXでは その文字列もURLエンコードしてしまいますので使えないようです。
その他の回答 (1)
- oka5130
- ベストアンサー率66% (35/53)
2バイト文字がURLエンコードされてるだけですよね。 フォームの送信先で、$_GET['keyword']には普通に「あいうえお」が 入ると思いますが、URLが日本語にならないといけない理由は何でしょう? http://ja.wikipedia.org/wiki/URL%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89
お礼
他サーバーにあるショッピングサイト内を検索するため、相手側のキーワードの受け取り方が「パラメータの文字列を直接受け取る」となっているようです。 そのためエンコードされた文字列をそのまま送信したくご質問させて頂きましたm(_ _;)m