- ベストアンサー
フォーム内だけで"EUC-JP"を使う具体的なソースを教えてください
フリーのショッピングカートを使って ー-------------------------- <form method="post" action="http://xxx.com/web_cart/cart.php" accept-charset="EUC-JP"> <div align="center"><img src="http://xxx.com/web_cart/img.php?path=./item_img/1_0.jpg&scale=150" width="188" height="188" border="0" /><br /> カラー: <select name="i_opa_value"> <option value="白">白</option> <option value="青">青</option> </select><br /> 数量: <select name="i_cnt"> <option value="1">1</option> <option value="2">2</option> </select> <br /> <input type="submit" value="カートに入れる"> <input type="hidden" name="cart_md" value="in"> <input type="hidden" name="i_num" value="1"> </div> </form> ー-------------------------- というソースの白、青という文字を"EUC-JP"で 送らなければならないですが、上記の内容だとIEで うまく動きません。 http://search.web-sun.com/zatu/charset.html も教えていただいたのですが、試行錯誤もむなしく、 実現できない状態です。 図々しいのですが、具体的なソースを教えていただけると 大変助かります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
<form>に <input type="hidden" name="dummy" value="�"> を加えるとIEでも文字コードを見直してくれるそうです。 ---------------------- http://bakera.jp/htmlbbs/inthread/3223 より
その他の回答 (1)
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
accept-charsetに対応していないブラウザは、HTMLファイルの文字コードで送信する物が多いです。 HTMLをEUC-JPで記述すると、多くのブラウザでEUC-JPで送信します。 (HTML全体をShift_JISで記述し、<form>の部分だけをEUC-JPで記述する、ということはできません) methodをGETにすると、UTF-8で送信することがありますし、 POSTでも必ずShift_JIS(OSの標準文字コード)やUTF-8で送信するブラウザもありますので、 (これはIEに限ったことではありません。IE(の初期設定状態)はHTMLの文字コードで送信します) いずれにしてもCGIスクリプト(PHPスクリプト)で文字コードの変換をすべきことです。 (Perlならほぼセオリーになってるんですが、PHPでは無視しますからねぇ。。。) PHPならphp.iniのmbstringの設定で行うのが一般的だと思いますので、 配布されているPHPスクリプトなどには、文字コードを変換するコードは書かれていないと思います。 http://www.y2sunlight.com/ground/?PHP5.0%2F3.php.ini%A4%CE%CA%D4%BD%B8 これでできるらしいのですが、 私の書き方が悪いのか、これ以外にも何か設定をしなければならないのか、私の環境ではこの設定をしても、文字コードの変換はできませんでした。 http://www.y2sunlight.com/ground/?PHP5.0%2F4.%A5%DE%A5%EB%A5%C1%A5%D0%A5%A4%A5%C8%C2%D0%B1%FE%A4%CEPHP5%A4%F2%BB%C8%A4%A6 PHPのインストールの仕方とかも影響するかもしれません。 (レンタルサーバーの場合はインストールの仕方を選べませんので、単純に「不可能」ということかもしれません) PHPスクリプトで文字コード変換を行う場合は、以下の関数があります。 http://jp.php.net/mbstring ご参考まで。
お礼
ありがとうございます。 HTML全体をEUC-JPにしたとろこ すべて文字化けしてしまいました。 なんとかフォームの内容を EUC-JPで送りたいと思います。 フリーのPHPも難しい条件を突きつけてきますね。
お礼
ありがとうございます。 こんなやり方もあるのですね。 おかげで正常に作動しました。