• 締切済み

XTHMLで<?xml version=

XHTMLで、ez web用のサイトを制作しています。 携帯サイト制作用のソフトウェアを使って作成していますが、ez webのみ表示させることができません。 いろいろ実験してみると以下のような記述があり、(1行目) <?xml version="1.0" encoding="Shift_JIS"?> この表記がなければ、表示できることがわかりました。 この一行は必ず必要なのでしょうか? なくても構いませんか? すみません、アドバイスのほどよろしくお願いします。

  • tetish
  • お礼率91% (234/256)

みんなの回答

回答No.1

携帯電話非所持者です。 http://www.au.kddi.com/ezfactory/tec/spec/wap_rule.html >XML文書では、必須ではありませんが文書の先頭でXML宣言を行ないXMLのバージョンと使用する文字セットを宣言することができます。一般的には、文字セットが国際符号化文字集合の「UTF-8」と「UTF- 16」以外の場合には、必ずXML宣言を行なって使用している文字セットを示す必要がありますが、WAP2.0ブラウザ搭載端末では、これらの宣言文を省略することが可能です。 ・・・省略することが「可能」、ということはあってもいいはずなんですよね・・・実際 http://www3.tokai.or.jp/janboon/hphtml/ とか見ると必須になってたりもするし。 念のため。そのページ、本当にShift_JISですか? EUC-JPだったりUTF-8だったりしませんか?

tetish
質問者

お礼

ありがとうございました。 お察しのとおり「EUC-JP」でした。無事表示させることができました。 勉強になりました。

関連するQ&A

  • 携帯サイト用 XHTML doctype宣言

    今、携帯サイトでXHTMLを使用したサイトを作成すること考えています。 3つのキャリアを別々に作るのは趣味範囲では難しいため、3つのキャリアに対応しているサイトの作成を考えています。 そこでdoctype宣言についてご質問なのですが、3つのキャリアは別々の宣言があり、 Docomoなら <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/*.*) 1.0//EN" "i-xhtml_4ja_10.dtd"> SoftBankなら <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN" "xhtml-basic10-plus.dtd"> auなら <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//OPENWAVE//DTD XHTML 1.0//EN" "http://www.openwave.com/DTD/xhtml-basic.dtd"> とあります。 これらの宣言を記述するとキャリアごとにサイトを作成しないといけないため、3キャリア共通の宣言をご教授いただけないでしょうか? また、ないのであればこれらをXMLファイルに書き込みhtmlファイル内の記述でXMLファイルを読み込むことは可能でしょうか? 可能なのであればその際の記述方法をご教授いただけないでしょうか? 宜しくお願い致します。

  • 携帯サイト制作をしておりまして、XHTML+Shift_JISで出力で

    携帯サイト制作をしておりまして、XHTML+Shift_JISで出力できずかなり悩まされています。なんでも結構ですのでヒントをいただけましたら幸いです。。 【現象1】 文字化けする。DoCoMoとFireFoxでいずれもUTF-8のコードをShift_JISとして表示しようとしている。 (PHPの記述) header("Content-Type: application/xhtml+xml; charset=Shift_JIS"); mb_internal_encoding('UTF-8'); mb_http_output('Shift_JIS') ob_start('mb_output_handler'); (XHTMLの記述) <!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 xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=shift_jis" /> 【現象2】 PHPでShift_JISで出力できているが、DoCoMoで見るとXHTMLではなくHTMLと解釈されてしまっている。なので<div style="background-color..といったものが無効になっている。 (PHPの記述) mb_internal_encoding('UTF-8'); mb_http_output('Shift_JIS') ob_start('mb_output_handler'); (XHTMLの記述) 現象1と同じ。 【現象3】 DoCoMoとFirefoxいずれも何も出力されなくなる。ソースも表示できない。 (PHPの記述) 現象2と同じ。 (XHTMLの記述) <?xml version="1.0" encoding="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 xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=shift_jis" /> 【開発条件】 PHP=PHP Version 5.1.6 言語=XHTML サーバー=XSERVER 確認キャリア=DoCoMo N904i phpinfoの内容 output_buffering no value no value output_handler no value no value default_charset no value no value mbstring.detect_order auto auto mbstring.encoding_translation Off Off mbstring.func_overload 0 0 mbstring.http_input auto auto mbstring.http_output SJIS SJIS mbstring.internal_encoding EUC-JP EUC-JP mbstring.language Japanese Japanese mbstring.strict_detection Off Off mbstring.substitute_character no value no value ●謎1 header("Content-Type: application/xhtml+xml; charset=Shift_JIS");をつけると なぜShift_JISに変換してくれなくなるのでしょう? ●謎2 <?xml version="1.0" encoding="Shift_JIS"?> をつけると何も出力されなくなるのはなぜでしょう?

    • ベストアンサー
    • PHP
  • xhtmlについて

    xhtmlについて2点質問があります。 1.xmlの先頭1行のような記述は必要ですか? xmlは<?xml version="1.0" encoding="UTF-8" ?>のような宣言を1行目に必ず記述する必要がありますが、xhtmlもそうなのでしょうか?W3CのValidatorを使ってみましたが、あってもなくても違いが無かったようです。厳密には在った方が良いのですかね? 2.エンコードはUTF-8にするべき? xmlは基本的にencoding="UTF-8"ですが、UTF-8だと日本語表示が出来ません。しかしshift-jisはあまり推奨されないという話も聞いたことがあります。質問1の記述が必要になった場合、encoding="UTF-8"にするべきなのでしょうか?UTF-8がどれだけ普及しているのかも気になります。

    • ベストアンサー
    • HTML
  • XMLの素朴な疑問です。

    今日からXMLをはじめたもので、右も左も解らない状態なんですが、いろいろ見ていて素朴な疑問が沸いてしまいましたので、質問させてください。 例えば下のように書いたxml文書は正しいのでしょうか? <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD> <TITLE>XML</TITLE> </HEAD> <BODY> <P>XML</P> </BODY> </HTML> =========================================== <?xml version="1.0" encoding="Shift-JIS"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <title>aa</title> </head> <body><p>XML文書</p></body> </html> ========================================= 実際にIE6で見てみると上はDTDでエラーが出て下はこのファイルの先頭でエラーになります。 この原因を教えていただけませんでしょうか。

    • ベストアンサー
    • XML
  • XMLのHTMLへの変換 (初心者)

    例えば、以下のようなsample.xmlをWebブラウザで表示する為には どのようにするればよろしいのでしょうか。どなたか教えてください。  <?xml version="1.0" encoding="Shift_JIS" ?> - <cars> - <car> <name>乗用車</name> <price>150</price>  </car> </cars>

    • ベストアンサー
    • XML
  • perlの中でphpを使いたいです。

    モバイル用のサイトをxhtmlで作っています。通常のxhtmlのページ(拡張子html)でphpを使う場合は、 <?php echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>"; ?> <? require 'xxx.php'; ?> としています。 今回はperl(拡張子cgi)でphpを使いたいのですが、 $print .= "<?php echo \"<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\"; ?>"; $print .= "<? require 'xxx.php'; ?>"; とするとエラーになってしまいます。 どうすればいいのでしょうか?教えてください。

    • 締切済み
    • PHP
  • GoogleChromeでxml宣言が消える?

    GoogleChromeでソース表示を行うと1行目に表示されるはずのxml宣言が表示されません。 例えばIE7で神奈川県のサイト(http://www.pref.kanagawa.jp/)をソース表示すると <?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"> となりますが、同じサイトをGoogleChromeでソース表示すると <!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"> と1行目にあるはずのxml宣言が消えて2行目の空行から始まっています。 だからなんだと言われると困るのですが・・・IE6対策でphpの条件分岐でIE6以外の場合のみ表示としているはずが、あれ?と言う状況です。 ソースや表示そのものがおかしくなるわけではないと思いますが、最初は条件分岐が間違っているのかと悩みました。 これはきちんと表示させる方法があるのか、もしくはそういう仕様なのか、実は他のソースもちゃっかり修正されちゃってたりしないのか、どんなもんでしょう。

    • ベストアンサー
    • HTML
  • xml宣言の文字コード変更

    xhtmlとcssでのコーディングを行った際、途中で「UTF-8」で作成してと言われました。 そのため、作成していたコードの冒頭をshift_jisからUTF-8にかきかえてみたところ、文字化け。ブラウザの表示をUTF-8に変えても化けたままなので、作業にならんと宣言をshift_jisに戻しました。 が、書き換えても文字化けが直りません。 宣言自体を消して保存しなおしたりもしたのですが、以前文字化けたままです。 テキストエディタで見るとちゃんとshift_jisになっているのですが、 これはどうすれば直るものなのでしょうか? 手を入れたのは以下の二行になります。(抜き出してるだけですので実際はheadタグ等を挟んでいます) 初期 <?xml version="1.0" encoding="shift_jis"?> <meta http-equiv="content-type" content="text/html; charset=shift_jis" /> ↓ UTF-8に書き換え <?xml version="1.0" encoding="UTF-8"?> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> ご教授ねがいます。

  • ie6で画像のpaddingを表示させたい

    seesaaブログユーザーです。 seesaaはxhtmlで記述しているようでソースの先頭は 1:<?xml version="1.0" encoding="Shift_JIS"?> 2:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> (1:は一行目, 2:は二行目であることを表しています) のようになっています。 これを 1:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> もしくは 1:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2:<?xml version="1.0" encoding="Shift_JIS"?> としても問題ないのでしょうか? と、質問させていただいた理由は 画像に枠をつけたいと思って、cssでimgにpaddingを指定したのですが ie6では表示されないのでこれを何とかしたいからです。 http://www.koikikukan.com/archives/2006/03/11-015552.php の記事を参照してわかったのですが、 この状態ですと画像のpaddingがie6では適用できないのですね。 そこで、記事にあるようにdoctype宣言を先頭に持っていくと ie6でも表示されるようになりました。 ということで、 「<?xml version="1.0" encoding="Shift_JIS"?>」 の扱いについて質問させていただきます。

    • ベストアンサー
    • XML
  • 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

専門家に質問してみよう