人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ブラウザーの質問です
今、PHPとMysqlの検索ウェブ検索をテストしているのですが
最新のFirefoxと最新のChromeでは検索できているのですがExplorer9では
検索できませんフォント設定のを何とかしなくてはいけないのだとは思うのですが
具体的にどうすればいいのか検討がつきません
なにか、良い方法をお教えください。

●質問者: yamamoto170
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● パパトモ
ベストアンサー

HTMLではなくてHTTPのヘッダーフィールドに文字セットが指定されていないのが原因だと思います。

http://www.studyinghttp.net/charset

PHPなら例えばUTF-8であれは次のように書けば良いと思います。

header("Content-type: text/html; charset=utf-8");


またサイト全体が1つの文字セットなら、Apacheのhttp.confか.httpaccessに次のように書けば、解消できると思います。

AddDefaultCharset UTF-8


yamamoto170さんのコメント
返信ありがとうございます メタには以下のように設定されています >|| <meta http-equiv="content-type" content="text/html; charset=UTF-8"> ||< これではだめなのでしょうか? ブラウザーの個々の設定がだめなのでしょうか?

yamamoto170さんのコメント
meta http-equiv="content-type" content="text/html; charset=UTF-8"

パパトモさんのコメント
metaダグでの指定は、無意味とは言いませんが、ブラウザに対しては有効ではありません。metaタグは、ダウンロードしたファイルをパーサーでパースするときに使うものです。 HTML内に書かれたcontent-typeは、ブラウザが必ず解釈する保証がありません。しかしHTTPヘッダーに書かれたcontent-typeフィールドは、プロトコル上の仕様として従わなくてはなりませんので、ブラウザは絶対的に従わなくてはなりません。 文字化け対策なども、本来HTTPヘッダーのcontent-typeフィールドを指定するべきなのですが、これを手抜きして、一部のブラウザ以外で文字化けしているサイトがまだまだ存在するのには驚かされます。

yamamoto170さんのコメント
丁寧な解説ありがとうございます かかれた事をやってみたのですが改善しないので 他の理由かと思われます フォントの設定が理由でないとしたらエクスプローラーだけ検索できないのはなせなのか さらにわからない状態になりました。

パパトモさんのコメント
検索文字はどのように送受信しているのですか? POST? GET? それとも非同期通信?

yamamoto170さんのコメント
form action="http://localhost/test1/search.php" method="GET" enctype="text" accept-charset="EUC-JP" target="_top">売買物件キーワード検索<BR> INPUT size="51" type="text" name="keyword" INPUT type="submit" value="検索"/form GETで送信しています

パパトモさんのコメント
GETで送信しているのであれば、ブラウザがどのようなURLを送っているのか見れば、原因が分かると思います。上手くいくケースといかないケースに差があるはずですから、直ぐに分かると思います。

yamamoto170さんのコメント
エクスプローラだとkeyword=%E6%9D%89%E6%88%B8%E7%94%BA Firefox,Chromeだとkeyword=%BF%F9%B8%CD%C4%AE になります明らかに違いますがどうしてなんでしょうか

yamamoto170さんのコメント
エクスプローラのフォント表示をEUCにすると検索できるようになりましたが ホームページの本文が文字化けしてしまいます、 どのような解決が良いのでしょうか?

パパトモさんのコメント
どちらかというと、Firefox,Chromeがおかしな動きになっていますね。 %E6%9D%89%E6%88%B8%E7%94%BA:UTF-8 %BF%F9%B8%CD%C4%AE:EUC-JP となると、考えられる事は・・・ -HTMLはUTF-8でコーディング -データベースがEUC 最も簡単な解決策は・・・ -HTMLをEUC-JPで作り直し -HTTPのContent-typeフィールドにEUC-JPをセット 将来性のある解決策は・・・ -データベースをUTF-8で作り直し -HTTPのContent-typeフィールドにUTF-8をセット ではないかと思います。

yamamoto170さんのコメント
返信ありがとうございます 早速データベースをUTF-8 HTTPのContent-type UTF-8に変更してみます

yamamoto170さんのコメント
解決できましたありがとうございます
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ