• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:携帯サイト制作をしておりまして、XHTML+Shift_JISで出力で)

携帯サイト制作でのXHTML+Shift_JISの問題について

このQ&Aのポイント
  • 携帯サイト制作でのXHTML+Shift_JISでの出力がうまくいかず、文字化けや表示の問題に悩まされています。
  • 具体的な現象として、DoCoMoとFirefoxで文字化けが起きる問題、DoCoMoでXHTMLではなくHTMLと解釈されてしまう問題、そして何も出力されなくなる問題があります。
  • PHPの設定やXHTMLの記述に関連しているのかもしれませんが、詳細な原因や解決策はわかりません。ヒントやアドバイスをいただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • cobe
  • ベストアンサー率23% (54/227)
回答No.1

mb_output_handler をつかったエンコーディングの自動変換は、content-typeがtext/htmlの時に動くという成約があった記憶があります(そうしないとバイナリまで変換しちゃうから)。 これが謎1の答えで、エンコーディングに食い違いがあるので謎2も釣られてダメになるではないかと。

gogoyamada
質問者

お礼

ご回答いただきましてありがとうございます! 再度PHPマニュアルを見返してみましたところ以下のような記述がありました。 --------------- 注意: PHP 4.3.0 以降において、 イメージのようなバイナリデータを PHP スクリプトから出力したい場合、 バイナリデータを送信する前に header() により Content-Type: ヘッダ(例:header("Content-Type: image/png"))を 送信する必要があります。Content-Type: ヘッダが送信されると出力文字 コード変換は無効となります。 ただし、header() により"Content-Type: text/*" を送信した場合には、テキストが送信されるとみなし、文字コード設定に 基づいて出力文字コード変換を行います。 --------------- おっしゃる通りでした。 早速試してみたいと思います。ありがとうございます!

関連するQ&A