F.Ko-Jiの「一秒後は未来」

auはContent-Typeのヘッダの間違いに厳しい?

先ほどの「携帯サイトをUTF-8で出力するかShift_JISで出力するか」の続きというかそれ以前の話。

auで「文字化け」の問題が発生する以前に、「『リクエストされたページは表示できません』と出て表示できないよ」と言われました。

ドコモやソフトバンク端末では表示できていて、さらにauのエミュレータ(現在は公開が停止されているOpenwave SDK6.2K)で見ても特に問題がないので、何が原因なのかさっぱり。

ネットで色々調べてみると、どうもContent-Typeヘッダあたりに間違いがあるときに、「リクエストされたページは表示できません」と出ることがわかりました。アクセスログを見ると確かにアクセスはきています。そこでソースコードをよく調べてみると、

header('Content-Type: application/xhtml+xml charset=' . MOBILE_ENCODING);

↑ セミコロンが抜けていた!!

という凡ミスであることが判明しました。これを直してみるとページは表示できるようになり、今度は「文字化けしとるぞ」という別の問題が見つかったわけです。

ただ、セミコロンが抜けている間違ったHTTPヘッダのままでもドコモとソフトバンク端末では表示できていて(HTMLのmetaタグでは正しく指定されてたからだと思う)、auのエミュレータでも問題が発見できなかった(auのネットワークを経由していないので当然)ので、やっぱり実機がないと検証は厳しいなぁと感じた次第です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など