• ベストアンサー

<?xml version="1.0" encoding="UTF-8"?>

が最初についているXHTMLがありますが これはつけることが望ましいのでしょうか? あるいはつかなければならないのでしょうか? ブラウザはつけてもつけなくても表示できると思いますが気になります

  • guuman
  • お礼率86% (1043/1206)
  • HTML
  • 回答数3
  • ありがとう数5

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

  • ベストアンサー
  • kztk
  • ベストアンサー率53% (59/110)
回答No.2

XHTML自体は使ったことはないのですが、XHTMLがXMLであることを考えるならば、 ・encodingがUTF-8またはUTF-16以外ならば「必須」 ・それ以外の場合は、つけなくとも大丈夫 となると思います。 したがって、guumanさんがあげられた例ではUTF-8ですから不要といえそうですが、W3C XML 1.0勧告では常にXML宣言をつけることが望ましい(SHOULD)としているそうです。

参考URL:
http://www-06.ibm.com/jp/developerworks/xml/041112/j_x-tipdecl.html
guuman
質問者

お礼

ありがとうございます utf-8の場合だけOKということですね xmlはutf-8を標準にしているからのようですね UTF-8をutf-8と書くことは正しいのでしょうか?

その他の回答 (2)

  • partita
  • ベストアンサー率29% (125/427)
回答No.3

記述は強く推奨されていますが、記述すると、windowsIE6が過去互換モードで動作するというのが難点で、不可避な問題です。 また、PHPでエラー回避するために、私は以下のように記述しています。 <?= '<?xml version="1.0" encoding="euc-jp"?>' ."\n"; ?>

guuman
質問者

お礼

ありがとうございます 一工夫がいるのですね

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

XHTMLは、XMLで書かれたものですから、必要です。

guuman
質問者

お礼

ありがとうございます phpの場合にはprintやechoなどで書かないで直に書くとエラーになりますね どうも<?と<?phpの問題みたいですね

関連するQ&A

  • phpと<?xml version="1.0" encoding="utf-8"?>

    phpファイルの頭に<?xml version="1.0" encoding="utf-8"?>を入れると Parse error: syntax error, unexpected T_STRING in ・・・ というエラーが出ます。 なぜでしょう?

    • ベストアンサー
    • PHP
  • encoding="UTF-16" ってUTF-16で書かれても。

     以前からずっと疑問だったのですが。。。  XML宣言の中に、エンコーディングを記述するところがありますが、その宣言文字列自体をそのエンコーディングで記述するというのはおかしくないでしょうか。  たとえば、UTF-16だったら、 encoding="UTF-16" と書くわけですが、これ自体がUTF-16で書かれているわけですよね? UTF-16で書かれているとわかっていたら宣言する必要はないし、宣言読まないとわからないんだったら、この宣言自体も読めないはずです。  今実際に、UTF-16で書かれていて、エンコーディング宣言もしているXML文書をあるソフトで読もうとしているのですが、1バイト目を読んだところで「Unexpected character. position = 0 」と出力されてエラーになります。  強制的にUTF-16で読ませる昨日もあるので、そうすればエラーは起こりませんが、それじゃエンコーディング宣言の存在自体に意味がないのでは? これは、最初の時点で読めないこと自体がこのソフトの不具合なのでしょうか?  これってどういうことなんでしょう。解決できるんでしょうか。

    • ベストアンサー
    • XML
  • XTHMLで<?xml version=

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

  • XHTMLで書いて、XML宣言を書くとバグるブラウザはIEだけ?

    IEで、XHTMLを書いたとして、「XML宣言あり」だと、標準モードでなく互換モードで表示しようとして、ページがみられないというバグがあると思います。 参考 http://cssbug.at.infoseek.co.jp/detail/winie.html XHTML(XML宣言あり): 互換モード(この動作はバグです) で、他のブラウザで、XHTMLで書いて、XML宣言を書くと同様にバグるブラウザは存在するのでしょうか? なお、ケータイのUA、あるいはもっと言えば海外のUAも考慮に入れています・・・が、わかる範囲でおこたえいただければ幸いです。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • utf-8のページの文字化け

    いろんなサイトを見ている際に時々あるのですがUTF-8のサイトに限り IE(使用しているブラウザはIE6)で文字のエンコードがうまく取得?できず 文字化けの状態でページが表示されています。 表示→エンコード→UTF-8を選択肢更新すると正常に表示されます。 2度目からは正常に表示されるので始めて見たサイトに限られる ようなのですがこれはブラウザが原因でしょうか? (自動選択にチェックはついています) ソースを見ると <!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" /> ・・・ となっておりエンコードでUTF-8を選択すると正常に表示される とこを見るとおかしい箇所もないようです。 私の持っているサイトは現在Shift_jisで作っているのですが リニューアルを機にUTF-8で作り直す事を検討中なのですが一部で 文字化けするのでは・・・と迷っております。 これはなにが原因なのでしょうか? 宜しくお願い致します。

  • 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を本、インターネットで勉強しながら、ホームページを作っています。 その中で、いくつかの本とサイトが「XML宣言をするとIE6より古いブラウザは後方互換モードになり、CSSを使ったデザインが大きく崩れる原因となる」というような事を書いていた為、XML宣言を省略してホームページを作成しました。 ところが、「XML宣言は必須」のような事が書いてあるサイトもありました。 そこで質問ですが、XHTMLでXML宣言がされていないと、どうなるのでしょうか・・・? 例えば、XML宣言をした場合のように、あるブラウザで見た目が変になると言う事は無いのでしょうか。 回答よろしくお願いしますm(__)m

    • ベストアンサー
    • HTML
  • utf-8 文字化け

    メモ帳でhtmlページを作成してたのですが、日本語を入力してIEで確認したら文字化けになります 原因がわからず困っていました よろしくお願いします IE10 IE 表示 エンコードはutf-8 自動選択にすると日本語表示になります <!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"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>ABC</title> <style type="text/css"> </style> </head> <body> <h1>ようこそ</h1> <p></p> </body>

  • UTF-8について

    女正 を一文字にした(女偏に正しい)字は、 Windows2000上で普通に入力/表示可能ですが、 EUC/SJISに変換しようとした際に情報が失われてしまいますようですが、失われないように出来ますか? また、現状でUTF-8のWebページは一般的なブラウザ(IE6/Netscape7/Mozilla1.3/Operaなど?)で 正しく表示できるのでしょうか?

    • 締切済み
    • PHP
  • xml について

    少し聞かせてください。 今、MVC で DB から値を出力しています。 そこで質問なのですが、どのタイミングでどのように xml に書き出すかが分かりかねています。 いろいろHPを見た結果なのですが、jsp で <%@ page contentType="text/xml" %> <?xml version="1.0" encoding="SJIS"?> <name="situmon"> <actor> <f_name>goo</f_name> <l_name>osiete</l_name> </name> などとすると、ブラウザで表示されるのは分かるのですが、xmlファイルとしての書き出しが分かりません。 xml ファイル書き出しと言う言葉が適切ではないのではとも思います。 主としての目的は、 XSLT シートを利用してのブラウザ表示です。 まず最初の xml ファイルの作成の仕方を、サンプル、HPでもかまいませんので回答よろしくお願いします。 環境:win98 JRun3.0

    • ベストアンサー
    • Java