プロが教えるわが家の防犯対策術!

シングルクオーテーションやその他以下の表に記載されているような文字をHTMLページのテキスト(タグ内ではなく)として使用する場合は、“すべて”ソースコード(例:’)への変換が必要なのでしょうか? 変換しなくてもFirfox3.6やIEでは問題なく表示されていますが。
http://www.segue-studio.com/convenient/symbol.html

よろしくお願いします。

A 回答 (4件)

いいえ、HTML内に直接かけないのは、


<,>,&
だけです。"はできればというか・・
<table summary="これは&quot;テスト&quot;の一覧">

5.3.2 文字実体参照 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )

★仕様書は必ず目を通しておきましょう。掲示板や他のサイトを調べて回るより、はるかに正確な情報が得られます。・・そっちを調べずに、すぐ聞いていたら上達しません。

 それで、その説明がわからないときに聞くと効率的です。

 たとえば、引用語句などを゛”ときちんと囲いたいときは数値文字参照か文字実体参照が必要です。
 また、UNICODEで記述していないページで、他の言語の文字を表記する場合かな・・・
안녕하세요 안녕하세요

HTML4 で使える文字実体参照 ( http://www.ne.jp/asahi/minazuki/bakera/html/refe … )

詳しくは、
5.3 文字参照 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
    • good
    • 0
この回答へのお礼

ORUKA1951さん
ご回答、ありがとうございました。

了解しました。

お礼日時:2011/06/15 11:26

> “すべて”ソースコード(例:&rsquo;)への変換が必要なのでしょうか?



そんな事はありません。
が、変換を行なうと確実です。


> 変換しなくてもFirfox3.6やIEでは問題なく表示されていますが。

確認された範囲ではそうなのですか。
でも、変換しないと表示されない事も少なくありませんし、表に記載されていない文字でも数値参照で指定すれば使える場合もあります。

例えば、質問に書かれていた解説ページに含まれているラテン文字やギリシア文字は利用する文字セットによって含まれている場合と含まれてない場合がありますが、含まれてない場合でも文字実体参照や数値文字参照を行なえば表示可能な場合があります。

それは、その表に含まれる文字のみに限らず同種の事象はあります。
例えば、EUC-JP/JIS(ISO-2022-JP)/ShiftJISで表示しているページに中国や韓国の人名で中国語や韓国語の名前を入れる場合に数値文字参照でUTF-8のコードを入れれば表示可能となるなど。


> ソースコード(例:&rsquo;)への変換が必要なのでしょうか?

&rsquo; という表記自体、非常に厳密にいえば条件次第で最後のセミコロンは省略できる場合があるのだけど、実際そうしてうまく表示してくれる環境は非常に少ないですし。

http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401 …

# 5.3 文字参照
# ある所与の文字符号化方法が、文書文字集合の全ての文字を表現できるとは限らない。こうした符号化を利用する際や、文書中の文字について直接入力できないよう設定されているハードウエアやソフトウエアを使っている場合、著者はSGML文字参照を用いてよい。文字参照とは、文字符号化方法に依存せずに文書文字集合の全ての文字を示す手法である。
# 注意。 SGMLでは、改行文字やタグの直前に文字参照がある際など、文字参照の末尾の「;」を省略できる場合がある。逆に単語の途中の場合などのように省略できない場合もある。本仕様は、如何なる場合も「;」を用いて、セミコロンが必要なユーザエージェントで問題が起きないようにするよう、強く勧める。

# 5.3.2 文字実体参照

# 特定の文字をエスケープするために頻繁に用いる4つの文字実体参照を、ここに特記しておく。
#
# 「&lt;」は < 記号を表現する。
# 「&gt;」は > 記号を表現する。
# 「&amp;」は & 記号を表現する。
# 「&quot;」は " 記号を表現する。

※ 使用頻度が高いと書いてあるのであって、しなければならないと書いてあるのではない。


# テキスト中に「<」記号を記したい場合、著者は「&lt;」(ASCII十進60)を用い、タグの冒頭——開始タグの開始区切り子——と誤解される可能性を回避するべきである。同様に、テキスト中に「>」記号を記したい場合、仮に二重引用符で囲った属性値としてであっても、著者は「>」を直接記すのではなく「&gt;」(ASCII十進62)を用い、古いユーザエージェントがこれをタグの末尾——タグの終了区切り子 ——と誤解してしまう問題を、回避すべきである。

※ htmlを正しく書いたからといって『誤解される可能性』はあるので、その回避のために参照機能を使う事は有効と書いてある。表現見ても『誤解してしまう問題を、回避すべき』なので期待される正しい動作をするブラウザなら変換など不要ではあるが実際に使われているブラウザは完全な解釈をしてくれるわけではないので『誤解される可能性』が高い記述は避けた方が多くの環境で正しく表示されますよって事だと思います。
『古いユーザエージェントがこれをタグの末尾——タグの終了区切り子 ——と誤解してしまう問題を』とあるけど、古いソフトに限りません。例えば、軽い処理を重視するブラウザに厳密に解釈して重くなるより変換されているページが多い事を期待して厳密な解釈はしないけど軽い動作を優先する様な実装は少なくありませんし。あるいは同じソフトでも古い版では厳密な解釈はしてなかったというのもあります。IE7で厳密な解釈をするようになったからといってIE6やIE5でもしていたとは限りませんし。

外国語環境のブラウザとかでも化ける機会(割合)を減らすとか厳密には解釈できないブラウザに誤解されないよう変換して置くことは有効ですが、それより正しいcharsetオプションを持ったhttpヘッダ送ったりする方が事故防止(化ける環境を減らす)という意味ではずっと多くの環境で問題を減らせますし。

同じブラウザ使っていてもちょっとした設定の違いで化けたり化けなかったりというのを避けるためにも有効となる事がありますし。
    • good
    • 0

昔の欧米のパソコン(いわゆる全角文字が存在しない環境)でそういう文字が表示できなかったときの名残ですので、


<>&以外は特別必要はありません。

ただし、昔の環境を考慮するなら、ある程度はしたがった方が良いと思います。
(実体参照の定義(種類)も何度か改変・追加されていますので、全てのブラウザが全ての実体参照を表示できるかと言うと、そうではありません。)

また、入力文字の変換(文字パレットなどから選んでくると思います)が面倒だから、と言う理由で実体参照を使うこともあると思いますが、
この理由はHTMLの文法と関係ない話だと思います。
    • good
    • 0
この回答へのお礼

talooさん
ご回答、ありがとうございました。

了解しました。

お礼日時:2011/06/15 11:27

この掲示板も・・



 たとえば、引用語句などを゛”ときちんと囲いたいときは数値文字参照か文字実体参照が必要です。
 また、UNICODEで記述していないページで、他の言語の文字を表記する場合かな・・・
안녕하세요 &amp;#50504;&amp;#45397;&amp;#54616;&amp;#49464;&amp;#50836;
と書くべき・・
    • good
    • 0
この回答へのお礼

ORUKA1951さん
ご回答、ありがとうございました。

了解しました。

お礼日時:2011/06/15 11:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!