モバイル端末で、初めてxhtmlを扱う。
しかし、なぜかxml宣言の一文があるとモバイル実機でも、PCブラウザでも表示できないという問題に直面。
<?xml version=”1.0″ encoding=”Shift_JIS” ?>
(この一文を入れると、なぜかページを表示できなくなってしまう)
原因は、どうやら行頭の <? らしい。これがPHPの省略タグとして解されていることによって起きている不具合らしい。
携帯サイト制作でPHPを使う場合のXML宣言のエラー対処
PHP使ってなければ問題ないんだろうけど、今回はPHPによるプログラムでキャリア判別やDOCTYPEの出力制御等を行っているので。
解決の方法はいくつかあるけれど、とりあえずその「PHPの省略タグ」として理解されてしまう部分を、php.iniの設定変更によって無効に。レンタルサーバなので、作業ディレクトリ内に以下の記述(その省略タグを無効にする)をした.htaccessファイルを置いた。
php_value short_open_tag Off
無事解決。ありがとうございました。
参照URLにあった、その他のものも含めた、この問題の回避方法。
- php.ini のshort_open_tagをOffにする
- xml宣言の部分をPHPのechoやprintで出力する
- PHPを利用しない((;゚Д゚))
- xml宣言を外した上でPHPを利用する
- 新しい: XHTMLによるモバイル向けページの作成
- 古い: PEARのアップグレード
コメント:0
トラックバック:0
- この記事のトラックバック URL
- http://showzine.info/blog/2009/04/php%e3%81%a7%e8%b5%b7%e3%81%93%e3%82%8bxml%e5%ae%a3%e8%a8%80%e3%81%ab%e3%82%88%e3%82%8b%e4%b8%8d%e5%85%b7%e5%90%88.html/trackback
- トラックバックの送信元リスト
- PHPで起こるxml宣言による不具合 - SHOWJIN*BLOG より