数日悩んでいた問題が解決した。あまりたいした問題でもないし、ここに書くのもお恥ずかしいくらい単純なことだったんだが、一応メモとして残す。 他のブラウザーでは見受けられないが、なぜかFirefoxで起こる現象。 コードは単純なもので、DBにデータをInsertして、成功か失敗かのメッセージを返すだけのもの。メッセージは日本語なのでUTF-8のエンコードを使用。 ただ、問題はDBのInsertを二回試みるということだっだ。IDがPRIMARY KEYになっているので、一瞬だけ文字化けした成功メッセージが表示され、その後すぐにエラーメッセージが表示される。データはちゃんと挿入されている。他のブラウザーでは問題ない。 ウェブサイトを観覧するときに、ブラウザーは自動でエンコーディングしてくれるものだ。IEはURLが同じの場合、リクエストは一回しか送信されない。 だがFirefoxでは一回目のリクエストでエンコードが設定と違うページを開こうとした場合、ページがリフレッシュされ、二回目に正しいエンコードで表示される。なので、上記のような問題が起こったと思われる。 メッセージを英語にすると問題ない。これは確実にエンコードの問題!! とひらめき、PHP.iniで設定しているdefault_charsetを確認したところ、コメントアウトされていた。あれ~、環境設定ちゃんとしたはずなんだけどなー。と思いつつも、そこを直すと、すんなり問題が解決されました。 しかし、ウェブは本当にブラウザーによっていろんな問題出てくるよなー。 統一して欲しいけど、それってやっぱ独占禁止法に触れるのかな?
Grow yourself exponentially with technology, science, philosophy, art and mind.
テクノロジー、サイエンス、哲学、アート、そして精神を高めて行こうと頑張るブログ!!