- ベストアンサー
ブログサイト(EUC-JP)→検索サイト(UTF-8)の文字化け処理について
お世話になっております。topaz_37と申します。 素人ですので、初歩的な質問で恐縮ですが、 「文字化け」についてお答えいただけると、大変ありがたいです。 ----------------------- システムの流れ ----------------------- ●HTMLサイトに「入力フォームのタグ」を貼ります。 ●その入力フォームに、キーワードを入れると、サーバーの商品が検索されます。 ●「_blank」で立ち上げたPHPサイトに商品検索の結果が現れます。 ●現在、HTMLサイトも、PHPサイトも、文字コードを「UTF-8」で共通にしているため、きちんと動いています。 ----------------------- 問題点 ----------------------- ●この「入力フォームのタグ」を、一般のブログサイトに貼りたいと思っています。 ●しかしブログサイトの文字コードは「EUC-JP」です。 ●商品検索のPHPサイトの文字コードは「UTF-8」のままです。 ●そのためブログサイトで文字入力しても、文字化けしてしまい、商品が検索されません。 ----------------------- お願い ----------------------- ●当然ですが、ブログサイトに対しては、私は何もできません。 ●ただしブログサイトに置く「入力フォームのタグ」には何らかの記述をプラスしても動くと思います。 ●商品検索のPHPサイトには、私の方で手が加えられます。 ●上記のような条件で、具体的に「どこに」「何を」記述すればよろしいのでしょうか。 ●素人なので、あまり応用は利かないため、教えていただいたことを、そのまま丸写しする能力しかありません。 以上、大変お手数ですが、よろしくお願い申し上げます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>●上記のような条件で、具体的に「どこに」「何を」記述すればよろしいのでしょうか。 >●素人なので、あまり応用は利かないため、教えていただいたことを、そのまま丸写しする能力しかありません。 でしたらシステムのソースをすべて書いてください。 ついでに仕様書も一緒に 処理的には文字コードを変換する処理を付ければいい。
その他の回答 (1)
- Mocchi113
- ベストアンサー率83% (5/6)
HTMLのFORM要素にaccept-charset属性というものがあります。もしPHP側の$_SERVERで、これを検出することができたなら、問題は解決するのかな、と思います。 EUC-JPのブログに埋め込むタグのFORM要素で、accept-charset="EUC-JP"を設定。PHPのスクリプトで、$_SERVER['HTTP_ACCEPT_CHARSET']でEUC-JPを検出したときのみ、iconv()関数でUTF-8にエンコード変更して検索という処理にすればどうでしょう? mbstringディレクティブをいじって自動変換する方法もあります。 ディレクティブを設定することに抵抗があるなぁ、mb_http_input()でEUC-JPを検出したときのみiconv()関数を実行するという処理も考えられます。 文字コード関係はブラウザの実装がまちまちなこともあって、これといった解決策はないようですので、PHPとHTMlを組み合わせて解決してみるのがよいでしょう。いろいろお試しください。
お礼
お世話になっております。topaz_37でございます。 お礼が遅くなって申し訳ございません。 大変ご丁寧なご回答をいただき、ありがとうございました。 ご教示いただいた方法を、色々と試させていただきたいと思います。 また今回は、私の質問が不的確だったということで、 この質問を締めさせていただきます。 もう少し的確な質問ができるようになりましたら、 再度、投稿したいと存じます。 今後ともよろしくお願い申し上げます。
お礼
お世話になっております。topaz_37でございます。 お礼が遅くなって申し訳ございません。 ご回答をいただき、ありがとうございました。 私が素人で、的確な質問ができず、申し訳ありませんでした。 しかしながら、この場にソースを記述するのも憚られますし、 文字数も超えてしまいそうなので、補足できず、重ね重ね申し訳ありません。 今回は、私の質問が不的確だったということで、 この質問を締めさせていただきます。 もう少し的確な質問ができるようになりましたら、 再度、投稿したいと存じます。 今後ともよろしくお願い申し上げます。