• ベストアンサー

日本語をパラメータに表示させるには?

いつもお世話になっています。 <input type="text" name="keyword" size="20"> 上記のkeywordに「あいうえお」と入れFORMからGET送信をするとアドレスのパラメータは「&keyword=%A5%B7%A5%E7%A5%C3%A5%D7」となるのですが、これを「&keyword=あいうえお」というようにすることは可能でしょうか? 送信フォーム・受信フォーム共にPHPファイルで文字コードはEUC-JPを使用しています。 2バイト文字のまま次のファイルへ引き渡したいと考えています。 以上何卒よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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)
回答No.1

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

news_0203
質問者

お礼

他サーバーにあるショッピングサイト内を検索するため、相手側のキーワードの受け取り方が「パラメータの文字列を直接受け取る」となっているようです。 そのためエンコードされた文字列をそのまま送信したくご質問させて頂きましたm(_ _;)m

関連するQ&A