• 締切済み

formごとにcharsetを指定する方法

チャットの裏入りについてです まず、フレームファイルで上側と下側に分割しています 上側のファイルのformタグに囲まれた内容を、チャットのphpにsubmitしています。 ここで、上側のファイルにformを増設して、 検索結果が下側に来るようにgoogle検索をできるようにしたいです。 こんな具合に。つhttp://chat.studio.cx/o-cha/search.html しかし、チャットのphpのcharsetがEUC-JPに対し、googleにsubmitするにはshift_JISでなければなりません(文字化けするため) 説明が下手ですいません・・・ 端的に言ってしまえば、formごとにcharsetを指定する方法はありませんか?ということです javascriptを使ってでも良いし、htmlで違う記述方法があるのならば、教えてもらえるとうれしいです よろしくお願いします

みんなの回答

  • think49
  • ベストアンサー率59% (285/482)
回答No.2

> しかし、このとおりの方法ではできませんでした 試してみたところ、enc-jp のように小文字では認識されていませんでした。 失礼しました。 (以前は通ったと思うのですが、仕様が変わったみたいですね。) 改めまして、ie=EUC-JP にしてみてください。 テスト - Google 検索 http://www.google.co.jp/search?hl=ja&ie=EUC-JP&oe=EUC-JP&q=%A5%C6%A5%B9%A5%C8&btnG=%B8%A1%BA%F7&lr=lang_ja 上のURLでEUC-JPが認識されていることを確認しました。

yuwa0116
質問者

お礼

ありがとうございます ソースを書き換えてきますね これでぐっすり寝れそうですw

  • think49
  • ベストアンサー率59% (285/482)
回答No.1

form送信時の文字コードはそのWebページの文字コードになりますから、一部分だけを文字コード変更は出来ないんじゃないかと思います。 > しかし、チャットのphpのcharsetがEUC-JPに対し、googleにsubmitするにはshift_JISでなければなりません(文字化けするため) これは ie=EUC-JP で解決できませんか? Googleはieパラメータで文字コードを判定しているので、http://www.google.co.jp/search?q=test&lr=lang_ja&ie=enc-jp のように調整すればEUC-JPの文字コードで受け取ってくれます。 Google 検索の URL パラメータリスト - WebOS Goodies http://webos-goodies.jp/archives/50785287.html

yuwa0116
質問者

お礼

ありがとうございます しかし、このとおりの方法ではできませんでした そこで、javascriptを用いて、 下のフレームのlocation.hrefを "http://www.google.co.jp/custom?q=" + [検索する言葉] + "&lr=lang_ja&ie=enc-jp?" としたところ、IEではうまくいきました。 ありがとうございます。 しかし、FireFoxでも動くものにしたいので、引き続き質問をしたいと思います。think49さんありがとうございました

関連するQ&A

  • Dreamweaverで文字コードを指定して開けますか?

    ホームページ制作会社に作ってもらった、PHP+Smarty のシステムのコンテンツ更新をDreamweaver CS3 を使ってやっています。 具体的には、.tpl ファイルをDreamweaverで開いて編集しているのですが、 <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> と記述されているにもかかわらず、実際は日本語EUCで保存されていて、Dreamweaverでっ開くと文字化けしてしまいます。 今はいちいち、charset=shift_jis を charset=euc-jp にエディタで変更後、Dreamweaverで編集、編集後エディタでcharset=shift_jisに戻し、アップロードという面倒な作業をしています。 Dreamweaver で、meta charset=shift_jis の指定を無視して、日本語EUCでで開く方法はないでしょうか?

  • mb_convert_encodingのタイミング

    検索フォームがあるphpファイルはShift_JISですが、検索を問い合わせるデータベースがEUC-JPになっています。 <form action="search.php" method="post"> <input type="text" name="keyword" size=30> <input type="submit" value="検索"> </form> 検索フォームで入力されたキーワードをmb_convert_encodingでShift_JISに変換してからpostしたいのですが、search.phpで検索キーワードを受け取る前にエンコード変換することは無理なのでしょうか?

    • ベストアンサー
    • PHP
  • charsetの違い

    こんにちは。HTML超初心者です。 <meta http-equiv="content-type" content="text/html; charset= の後で文字コードがかわることを最近勉強しました。 Japanese(EUC) EUC-JP Japanese(Shift JIS) Shift_JIS Unicode Text Format-8 などがあるようですが、いったい何が違うのでしょうか? つまらんことですがどなたか説明よろしくお願いします。

    • ベストアンサー
    • HTML
  • HTML formタグの文字コードについて

    各サイトのフォーム<form>をまとめて1つのテキストにしています。 文字コードはShift-jisです。 元のページがShift-jisの場合、問題なく動作するのですが、 EUCやUTF-8の場合、テキストボックスに入力した2バイト文字が 化けてしまいます。 これらのサイトの<form>をShift-jisで動作するようにはできない でしょうか?

    • ベストアンサー
    • HTML
  • エンコードをEUC-JP⇒ShiftJISに変えたい

    モバイル用サイトをEUC-JPで作ってしまったので、Shift-JISに変えたいのですが、 どのように変えれば良いのでしょうか? PHP、MySQLの設定ではEUC-JPです。 METAタグでShift-JISに変えてみましたし、 PHPでエンコーディングをShift-JISに設定したのですが、変わりません。 -------------------------------------------------------------- <meta http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS"> mb_internal_encoding("SJIS"); -------------------------------------------------------------- また一から作り直すしか術はないのでしょうか・・・?

    • 締切済み
    • PHP
  • POSTされた値をEUCで表示したい

    <?php echo '<html><head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> </head> <body> <form action="test2.php" method="POST"> <input name="str1" value="テストです"> <input type="submit"> </form> </body></html>'; exit; } ?> こうして送信されたデータは <?php echo '<html><head> <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS"> </head><body>'; echo $_POST['str1']; ・・・・・ として表示しますが、このままのテストソースではSJISで普通に表示されますが、EUCで表示するにはWindowsの中のphp.iniを編集すればよいと思います。 どのようにすればよいですか? test2.phpが・ニ・ケ・ネ、ヌ、ケと表示したら成功です。

    • 締切済み
    • PHP
  • FORMタグの中の2つのボタンの処理について

    PHPの勉強を始めたばかりのものです。 よろしくお願いします。 以下のようなページを作りたいと考えています。 フレームで上下に分けられたページで、上側を「upper.php」、下側を「lower.php」とします。 下側(lower.php)に3つの入力欄〔入力欄(1)〕〔入力欄(2)〕〔入力欄(3)〕と2つのボタン【ボタン(1)】【ボタン(2)】があります。 【ボタン(1)】は、〔入力欄(1)〕のデータをもとに、フレームの下側の内容を書き換えます。 【ボタン(2)】は、〔入力欄(1)〕〔入力欄(2)〕〔入力欄(3)〕の情報をもとに、フレームの上側の内容を書き換えます。 自分なりに勉強して、とりあえず、下記のようにしたのですが、上のページを更新する部分をどのようにすればいいのか分かりません。 ご教授、よろしくお願いします。 <「lower.php」の中の記述> <?php if ($_POST[Button_1]) { 下側のフレームの更新処理に関わる部分 (この部分はうまく機能しています) } elseif ($_POST[Button_2) { 上側のフレームを更新する処理 (★★この部分をどのように記述すればいいのかわかりません★★) } ?> <form action="<?=$_SERVER['PHP_SELF']?>" method="post"> <INPUT TYPE="text" NAME="INPUT_1"> <input type="submit" name="Button_1" value="登録"> // 「INPUT_1」のデータを使って、下側のフレームの内容を更新 <INPUT TYPE="text" NAME="INPUT_2"> <INPUT TYPE="text" NAME="INPUT_3"> <input type="submit" name="Button_2" value="登録"> // 「INPUT_1~3」のデータを使って、上側のフレームの内容を更新 </form> よろしくお願いします。

    • ベストアンサー
    • PHP
  • form の TEXT で " がはいると切れてしまう。 

    PHPからMySQLにデータを格納しようとしているのですが、 Form の TEXTで、たとえば 12" WHITE PAPER ROLL と入れると、"の後が切れてしまうのです。 何か設定があるのでしょうか? 格納は、SHIFT-JIS で書き込みを行っています。

    • ベストアンサー
    • PHP
  • 複数のformに対して自動送信(ボタンを押した振る舞い)をする方法

    http://oshiete1.goo.ne.jp/kotaeru.php3?q=949775 上記の質問や http://oshiete1.goo.ne.jp/kotaeru.php3?q=1220040 の発展版になりますが、ひとつのformに対しては上記の質問に対する回答にあるようにdocument.FORM.submit();やclick()でできるのですが、同じファイル内にある複数のformに対して同時に自動的に送信したいと思い、いろいろ試してみたのですがうまくいかず、いい方法が思い浮かびません。 formの数が多いのでformごとにファイルを用意するのは避けたいのですが、うまくできる方法はないでしょうか?もうひとつファイルをつくって制御する、というふうなものでも構いません。 また、同時に送信、と書きましたが複数のformに対してそれぞれ送信ができればOKなので、少しずつ時間がずれても構いません。 googleでも検索してみたのですが調べ方がよくないのかこのような事例がなかなか見当たらず、ここに質問した次第です。 なにかこれだ!というものがありましたらぜひご回答いただけたらうれしいです。

  • PHPの文字コード (php.iniの設定)

    php.iniを以下のように設定した場合について教えてください。 (PHPの参考書に載っていたWindows環境での設定例です) output_buffering = On output_handler = mb_output_handler default_charset = Shift_JIS extension=php_mbstring.dll mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = auto mbstring.script_encoding = EUC-JP 1. この設定は「PHPの記述されたファイルはEUC-JPで、 ブラウザに表示される時点でShift-JISに変換される」 ということですか? 2. PHPの参考書(PHP5対応)に、 「PHPアプリケーションを構築する場合、文字コードを Shift-JISにすると、PHPのバージョンやphp.iniの設定に よっては文字化けの原因になることがあるので、 Windows環境でもEUC-JPで保存することを強くお勧めする」 というようなことが書かれていました。 素人考えで、すべて同じ文字コード(EUC-JP)のほうが 楽なのではないかと思ったのですが、上記のように 設定するのはどういう理由からでしょうか? 3. CSSファイルやテンプレートファイル(Smarty)の 文字コードは、Shift-JISとEUC-JPのどちらで保存 すればいいのですか? 4. metaタグのcharsetはShift-JISであっていますか?

    • ベストアンサー
    • PHP

専門家に質問してみよう