京都Love.com (www.kyotolove.com) のブログです。管理人 ぺんの日常生活、京都旅行記、などなど、コンセプトはまだ不明です(笑)
本家サイトは、こちらですhttp://www.kyotolove.com



上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。



京都Loveに地図を実装していくと、スムースに導入できたとおもったら、IEで動作しないことが判明した!

エラーは、この行で発生する
if (GBrowserIsCompatible()) {

HTMLのソースをコピーして、原因を探っていってわかったことは、文字コードをUTF-8からEUC-JPに変えていたことが問題であった。IE以外のブラウザーでは問題なかったのですが・・・。京都LoveはEUC-JPコードで作ってきたので、それで動かす方法はないものか調べてみたら、いいことがわかりました。

Google Mapを作る大元のスクリプトがあって、それはUTF-8で書かれていて、別の文字コードに設定してしまうと、ブラウザーによってはうまく読み取れないとのこと。うはっ、アスキー文字のスクリプトなのだから、読み取れないなんてありえんだろう!とIEに突っ込み入れたくなる。

そして、その解決方法として、「charset="utf-8"」を追加すれば良いとのこと。


HTMLソースを修正して確認してみると、おおおおーーー動いた〜〜。な〜んだ、簡単になおると思い、PHPのスクリプトを修正して動かしみたが、動かん・・・ (* ̄□ ̄*;

やはり、if (GBrowserIsCompatible()) { の行でエラーを起こすのだ。


京都Loveは、PHPでJavaScriptを含めたHTMLソースを作り出しているから、JavaScriptの読みこむ前に、エラー行に達してしまうのか???それなら、地図表示ようのPHPを作ってしまおうとしたが、これが全然動かないというのなのか???(う〜ん)

いろいろ試行錯誤しているうちに、原因がわかった!!!
ブラウザーの文字コードの設定を、UTF-8にすると、地図が表示されたのだ!!(おお)

んじゃ、全部UTF-8で書いてみたが、ブラウザーはEUC-JPで認識してしまう。
YahooはUTF-8で書かれているので、表示させてみると、UTF-8で認識している。
Yahooの文字コードの設定を書き写してみるが、やはりEUC-JPで認識してしまう。
これは、テストサーバー(Apache)のOUTPUTの文字コードが、EUCに設定しているからに違いない。
ちなみに、WebのApacheサーバーのOUTPUTの文字コードはと確認すると、なんと設定されていないではないか!

ということは・・・
HTMLソースをUTF-8に変換して、アップロードしてみると・・・おおお、UTF-8と認識して、ちゃんと動いた!

IEは、HTMLでの文字コードの設定は無視して、ソースの文字コードで判断しているみたいだ。

ということで・・・、京都Loveの文字コードを、EUCからUTF-8に変更することに・・・
ひぇぇぇぇ、大変だ〜〜〜