Phantasy Garden

30分ほどでさくっと作ったmob_analize()を実装しますた。携帯電話というかユーザーエージェントのみでモバイルかどうか判断する簡易スクリプトですが、たぶんうまく行ってると思います。というのも、それまでua_analize()というget_browser()もどきの関数でbrowscap.iniの情報を間接的に使用していたんですが、このiniを見直してみたところ、auの一部ブラウザと被っているブラウザがあったんですよ。多分このせいでauの方がアクセスしてきたときに、このブラウザであると誤判断されてUTF-8で出力されていたんではないかと。携帯電話ではまだまだShift-JISが優勢ですしね。

とりあえず、mob_analize()で先に携帯電話かどうかを判断し、その後でua_analize()を使ってブラウザ判断するようにしました。mob_analize()で携帯電話と判断されれば、その時点でShift-JISかつtext/htmlな出力にするようにしているので、問題はないはずです。これで問題が出たら相当特殊なブラウザか、ユーザーエージェント情報を隠蔽しているか、あとはPHPのバグくらいしか思いつかん。パソコン上でShift-JISかつtext/htmlな出力をされても気づかない可能性大だけど。

調査に協力いただいたラグナイト氏に深く感謝の意を申し上げます。

※参考情報

Comment

名前:

機械的スパムを防止するための検証です。以下の画像に書かれている文字列(半角英数字)を入力してください。
Captcha Image
認証:

Information

About this website

サイト名『空想庭園』。御巫 悠が自由気ままに運営しているサイトです。役に立たないコラム書きがメインなのかもしれません。

本サイトはクリエイティブ・コモンズ表示4.0 国際ライセンスの下に提供されています。

Recent Weblog

Recent Comment

Weblog Search

Weblog Category

Friend Links