ドコモだけPHPを介すとスタイルシートが効かない

このQ&Aのポイント
  • 携帯サイトを作成中に、ドコモだけPHPを介して表示するとスタイルシートが効かなくなる現象が発生しています。
  • PCと携帯3キャリアでの確認では問題ないが、PHPを介して表示させるとドコモのみスタイルシートが適用されない。
  • 問題の解決策をご教示いただける方がいらっしゃいましたら、ご助言いただけますと幸いです。
回答を見る
  • ベストアンサー

ドコモだけPHPを介すとスタイルシートが効かない

こんにちは。 今、携帯サイトを作成しております。 その中で不思議な現象があるため、もしご存じの方がいらっしゃいましたら、ご助言頂けますと幸いです。 まずソースをご覧ください。 <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/1.0) 1.0//EN" "i-xhtml_4ja_10.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="application/xhtml+xml;charset=Shift_JIS" /> <meta http-equiv="content-style-type" content="text/css" /> <title>TEST</title> </head> <body style="color:#ff0000;"> red?<br /> <span style="color:#0000ff;">blue?</span> </body> </html> 上記のソースを、例えば「test.xhtml」という名前で保存して、PCと携帯3キャリアで確認すると、ちゃんと文字色の指定が効きます。 しかし、同じソースを下記のソースではさみ、phpを介して表示させようとすると、ドコモだけスタイルシートが効かなくなり、文字色が黒になってしまいます。 <?php echo ' (ここに上記ソースをコピー) '; ?> ※拡張子は.phpでも.xhtmlでも同じ現象でした。 PHPを介してもスタイルシートが効くようにするには、どのようにしたらよいでしょうか? よろしくお願いいたします。

  • PHP
  • 回答数1
  • ありがとう数9

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

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

<?php header("Content-type: application/xhtml+xml;charset=Shift_JIS"); を追加したらどうでしょう。

ykchoro
質問者

お礼

ご回答頂きありがとうございました。 無事に表示することができました! お助け頂き助かりました。本当にありがとうございました。

関連するQ&A

  • xhtmlのスタイルシートについて

    <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta name="robots" content="noindex,nofollow,noarchive" /> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <style type="text/css"> t { color : 407133; k { color : 337060; r { coior : 454580 &gt; </style> ↑どこか間違っているところがありましたら教えてください。 <span class="#407133">てすと</span> 文字色が変わりません。 どなたか指摘願います。

  • 携帯サイトでphpを使いdocomo宣言をすると、PCで上手く表示されない

    現在、携帯サイトを作っているのですが、下記のような書き方だとdocomoではCSSもきいて上手く表示されるのですが、I Eで表示させようとするとダウンロード画面が出てきます。 PC、携帯、共に同じ表示にさせたいのですが、どうすればいいでしょうか。 ご教授お願いします。 <?php header("Content-type: application/xhtml+xml;charset=Shift_JIS"); ?> <!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/1.1) 1.0//EN" "i-xhtml_4ja_10.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_JIS" />

    • ベストアンサー
    • PHP
  • .phpがブラウザで表示されない

    携帯サイトを作成したのですが、PCのブラウザで確認できないので少し不安です。 広告をいれたいため拡張子は.phpで作りました。 携帯では問題なく確認できるのですが、PCでアドレスを入力して確認しようとすると「このファイルを保存しますか、または開くためのプログラムをオンラインで検索しますか?」というポップアップウインドウが表示されて、PCでは確認することができない状態です。 タグは以下に記載します。 どなたか解決法がわかるかた教えて頂けないでしょうか? <?php header('Content-Type: application/xhtml+xml; charset=Shift_JIS'); echo '<?xml version="1.0" encoding="Shift_JIS"?>'."\n" ?> <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" /> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="expires" content="-1" /> <title>趣味のページ</title> </head>

    • ベストアンサー
    • PHP
  • こんにちは。ドコモ端末のスタイルについて質問です

    ドコモ端末用のウェブページをPHPで作成中です。 CSSについて悩んでいます。 ソース(ファイルの文字コードはutf-8) ※絵文字出力にmobileClassというライブラリを使っています。 ---------------------------------------------- //絵文字ライブラリ require_once "./lib/MobileClass.php"; $mobileClass = new MobileClass('http://' . $_SERVER['HTTP_HOST'] . '/img/emoji/'); ini_set("default_charset", "Shift_JIS"); ini_set('mbstring.http_output', "Shift_JIS") header('Content-Type: application/xhtml+xml; charset=Shift_JIS'); print "<?xml version='1.0' encoding='Shift_JIS'?>"; print "<!DOCTYPE html PUBLIC '-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.0) 1.0//EN' 'i-xhtml_4ja_10.dtd'>"; print "<html><head>"; print "<meta http-equiv='Content-Type' content='xhtml+xml; charset=Shift_JIS'>"; print "</head><body>"; print "テストページ"; print "絵文字:".$mobileClass->Convert('F988')." "; print "</body>"; ---------------------------------------------- このソースだと文字化けしてしまいます。 ob_start()を使用して、 mb_convert_encodingでShift_JISに一括変換して出力すると文字化けはしませんが、絵文字が表示されなくなります。文字化けせずに絵文字も表示させたいのですがどうしたら良いでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHP 携帯・PC 振り分け

    こんにちはphpの振り分けについてご教授お願いします。 http://www.abc.jp/→PCサイト(/home/abc/www/の中身) http://m.abc.jp/→mobileサイト(/home/abc/www/mobile/の中身) とした場合、PCからmobileサイトにアクセスがあった場合pcサイトに飛ばし、携帯からPCサイトにアクセスがあった場合mobileサイトに飛ばすといったようなことをしたいのですが、下記の内容でdoctype宣言をおこなった場合どのように記述したらよろしいでしょうか? 下記の記述は別ファイルに記述し、index.phpまたは他の.phpに読み込まして各キャリアをdoctype宣言で振り分けしています。 下記の記述はネット上から見つけてきたものです。 http://www.kamitani79.com/2008/10/doctypephpssi.html <?php $agent=$_SERVER['HTTP_USER_AGENT']; if(preg_match("/DoCoMo/", $agent)) { print ("<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\n"); print ("<!DOCTYPE html PUBLIC \"-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.3) 1.0//EN\" \"i-xhtml_4ja_10.dtd\">\n"); print ("<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"ja\" xml:lang=\"ja\">\n"); print ("<head>\n"); print ("<meta http-equiv=\"Content-Type\" content=\"application/xhtml+xml; charset=Shift_JIS\" />"); } elseif(preg_match("/KDDI\-/", $agent)||preg_match("/UP\.Browser/", $agent)) { print ("<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\n"); print ("<!DOCTYPE html PUBLIC \"-//OPENWAVE//DTD XHTML 1.0//EN\" \"http://www.openwave.com/DTD/xhtml-basic.dtd\">\n"); print ("<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"ja\" xml:lang=\"ja\">\n"); print ("<head>\n"); print ("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\" />"); } elseif(preg_match("/J\-PHONE|Vodafone|MOT\-[CV]980|SoftBank/", $agent)) { print ("<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\n"); print ("<!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"xhtml-basic10-plus.dtd\">\n"); print ("<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"ja\" xml:lang=\"ja\">\n"); print ("<head>\n"); print ("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\" />"); } else { print ("<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\n"); print ("<!DOCTYPE html PUBLIC \"-//WAPFORUM//DTD XHTML Mobile 1.0//EN\" \"http://www.wapforum.org/DTD/xhtml-mobile10.dtd\">\n"); print ("<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"ja\">\n"); print ("<head>\n"); print ("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\" />"); } ?> ご教授お願いいたします。

    • ベストアンサー
    • PHP
  • xmlの宣言?ドコモで反転表示がうまくいかない。

    質問の内容がレス違いの場合はご了承ください。 PHPを使用して携帯向けのサイトを作成していますが、ドコモの文字反転がうまく行かなくて困っています。 説明が複雑になりますが、xmlの宣言でつまずいているのか.htaccessの設定とサーバーの設定がうまくいって無いのかほからないので、現状を書きますので、わかるようでしたらアドバイスしてください。 使用サーバー さくらのレンタルサーバー PHPのバージョン PHP 4.4.8(変更の予定はありません) 状況 .htaccessの内容 AddType application/xhtml+xml .xhtml 実行ソースabc.xthmlの内容 <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" /> <title>テスト表示</title> </head> <body> <div style="background-color:#ff0000;">テスト表示</div> </body> </html> ------------------------------------------------------------- この状態でドコモ端末よりアクセスすると反転表示されます。 これではPHPが使えないので、xhtmlでPHPを使えるようにしてみました。 参考にしたサイト http://help.sakura.ne.jp/forumup/c/2006/09/60.html http://faq.sakuratan.com/wiki/wiki.cgi?cgi%25a4%25c8php#i23 .htaccess変更後の内容 AddType application/xhtml+xml .xhtml DirectoryIndex index.html index.php .ht Action myphp-script /inc/php.cgi AddHandler myphp-script .php .html .xhtml 実行ソースabc.xthml変更後の内容 <? echo '<?xml version="1.0" encoding="Shift_JIS"?>'."\n" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" /> <title>テスト表示</title> </head> <body> <? echo "これで表示されれはOK"."<br>"; ?> <div style="background-color:#ff0000;">テスト表示</div> </body> </html> ------------------------------------------------------------- PHPは動作しているのですが、反転されないようになりました。 IE等でソース確認してみましたが、ソースにはxmlの宣言文は書かれています。 ですが、ドコモ端末で反転されないのです。 表示されていたのが表示されなくなったので、その間にやった処理を見直したのですが、xhtml上でPHPを動作させたいので、その方法がわかりません。 ちょっと説明がヘタで申し訳ないのですが、良きアドバイスお願いします。

    • ベストアンサー
    • PHP
  • PHP、どうして認識しないのですか?

    現在の私のサイト(shtml)のソースは次のとおりです(甲)。これを下記(乙)のように書き換えてアップしましたが”こんにちは”の文字が現れません。 レンタルサーバーの問題ですか?ソースの問題ですか? (甲) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML lang="ja"> <HEAD> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" > <META http-equiv="Content-Script-Type" content="text/javascript"> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <META NAME="ROBOTS" CONTENT="INDEX,FOLLOW"> <TITLE>○○○</TITLE> (乙) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>○○○</title> </head> <body> <!--shtmlのソースの中に次を挿入しました--> <p> <?php echo "こんにちは。<br />"; echo "こんにちは。<br />"; echo "こんにちは。<br />"; echo "こんにちは。<br />"; ?> </p> ----------------------- これが表示されません。 教えて下さい。どうしてですか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • i-modeでxhtmlをみるには、、

    Perlからxhtmlをはきだして、i-modeで見れるようにしたいのですが、 表示がうまくいきません。 ヘッダーは Content-type: text/html; charset=Shift_JIS <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-Transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> こんな感じです。 「Content-type: text/html; charset=Shift_JIS」の部分を 「Content-Type: application/xhtml+xml」や 「Content-Type: application/xhtml」等でやっても表示されませんでした。 もし分かる方がいましたら教えてください。 宜しくお願いします。

    • 締切済み
    • XML
  • phpのダウンロード画面が出てしまう

    IE6からphpにアクセスするとダウンロード画面が出てきてしまいます。 ダウンロード画面を出さないようにするにはどうすればいいでしょうか。httpd.confは編集できない環境です。 .htaccessは下記のどちらにしてもDL画面が出てきます。 AddType application/x-httpd-php .xhtml AddType application/xhtml+xml .php index.php; <?php header("Content-Type: application/xhtml+xml"); echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" > <head> <meta http-equiv="ContentType" content="application/xhtml+xml" /> <meta content="i-mode7_FOMA" /> <title>タイトル</title> </head> <body> <?php readfile("./numbers3/n3temp.txt"); ?> </body> </html>

    • ベストアンサー
    • CSS
  • CSSのアドバイスをお願いいたします。

    <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta name="robots" content="noindex,nofollow,noarchive" /> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <style type="text/css"> .r { color : #407133; } .k { color : #336070; } .t { color : #454580; } .s { color : olive; } p { color : #222222; } body { background-color:#e0ffe0; } a:link { color : #0000ff; } a:visited { color : #003333; } a:hover { color : #660000; } a:active { color:#660066; </style> <meta http-equiv="Content-Script-Type" content="text/javascript" />の1行を加えてみました。 この場合の記述の是非。 また記述すべき個所は合っているのでしょうか。

    • ベストアンサー
    • HTML