質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

2827閲覧

HTML文字参照を使い道

yuji38kwmt

総合スコア437

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/11/20 01:36

編集2016/11/20 02:00

下記の理由から、HTML文字参照の使い道はほとんどないと考えています。
この考えは合っているのでしょうか?

  • HTMLの文字コードがUTF-8ならば、特殊文字はHTML文字参照を使わなくても、文字化けせずにブラウザ表示される。
  • HTMLの推奨文字コードがUTF-8である現在、特殊文字のHTML文字参照は使う必要がない。むしろ分かりづらいので、使うべきでない。
  • ただし、HTMLで特別な意味を持つ文字「< > " & '」は、HTML文字参照を使って表示してよい。

補足

特殊文字とは、丸つき数字やギリシャ文字、などを表しています。
http://rinrin.saiin.net/~aor/hms/cer#extend

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikedas

2016/11/20 01:43

「特殊文字」とはどのようなもののことを指しているのでしょうか。
guest

回答2

0

数値文字参照 or 文字実体参照のどちらのことを言ってますか? どうも混同されているような気がしますが。

文字参照
https://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E5%8F%82%E7%85%A7

文字参照について
https://www.marguerite.jp/Nihongo/WWW/Introduction/HTML5/Entity.html

HTMLの文字コードがUTF-8ならば、特殊文字はHTML文字参照を使わなくても、文字化けせずにブラウザ表示される。

それは文字参照を使う使わないに関係なく、OS やブラウザがサポートしているフォントによると思います。

HTMLの推奨文字コードがUTF-8である現在、特殊文字のHTML文字参照は使う必要がない。むしろ分かりづらいので、使うべきでない。

上に紹介した記事にも書いてありますが、キーボード等から入力不可能な場合、数値文字参照を用いて記述することができます。

ただし、HTMLで特別な意味を持つ文字「< > " & '」は、HTML文字参照を使って表示してよい。

それは「使って表示してよい」と言うわけではなくて、ブラウザに「特別な意味を持つ」と判断されては困るので、エスケープするという意味のはずです。

投稿2016/11/20 02:13

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

次の点が違うかなと。

###特殊なフォントを使った場合

文字実体参照は通常のフォントに含まれていますので、一部の文字が欠けたフォントしか使えないようなエディタでもなければ、そのまま表示できるでしょう。しかし、Symbolやfontawesomeのフォントのような特殊な図柄用フォントを使おうとした場合、事情が異なります。このようなフォントでは、

  • Unicodeの私用領域を使用している。
  • 一般的なグリフとは違いグリフを割り当てている。

ということがあります。そのため、エディタ上では表示されない、または、表示された場合でも違うグリフになるなどの弊害が発生します。そうであれば、最初から数値文字参照を使った方がわかりやすくなります。

HTML

1<span style="font-family: Wingdings;">:</span>

ただ、こういったフォントはCSSで書いておいて、HTML上ではclassを使って指定することが主流なので、お目にかかることは少ないかも知れませんが。

### 

さすがに&nbsp;でHTMLのデザインを整形している人はもういないと思いますが、何かしらの事情で必要になるかも知れません。ノンブレークスペースはU+00A0に割り当てられていますので、UTF-8で表現は可能です。しかし、普通のスペースを見分けることができません。もし、こんなのが混ざったコードがあるとしたら…全角スペース以上につらいことになるかと思います。

HTML

1<p>a b</p> 2<p>a    b</p>

等幅フォントのエディタなら二つは同じです。でも、ブラウザでHTMLとしてみると間隔が違うという目に遭います。

###特別な意味を持つ記号のエスケープ

実は'の文字実体参照&apos;はHTML4には含まれていません(XMLとHTML5にはあります)。HTML4の時はこれだけ数値文字参照にするしかないのですが、必要になるのは属性値を''を囲った所のみなので、私は、属性値は必ず""で囲むとして、使わないようにしていました。これからもそうする予定ですので、私の中のオレオレコーディング規約では&apos;もその数値文字参照も使用禁止にしています。

&lt;&gt;は必須として、&quot;は属性値の中以外はオレオレコーディング規約では禁止しています。&はHTML5では曖昧な文字参照でならければエスケープの必要はありませんが、これまたオレオレコーディング規約では&amp;にしなければならないと定めています。URLであってもです。

なお、エスケープしない例外は組み込みの<scrpit>です。HTML5からは</script>が現れるまではJavaScriptとしてそのまま解釈されるとなったので、そのまま書いています。

あくまでオレオレ規約ですので、従う必要もありませんし、正しいのかはわかりません。最近は検証以外で生でそのままHTMLを書くことがほとんどありませんので、気にしていないというのが本音です。

投稿2016/11/20 03:28

raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikedas

2016/11/20 04:55

> 一部の文字が欠けたフォント 世界の多くのユーザはクリー文字やソランソンペン文字が欠けたりまともに表示できないフォントしか使えないでしょうから、それはむしろ普通のことです。 また、テキストの表示だけでなく編集 (コピペも含む) することも考えた場合、ユーザの言語で必要とされるサブセット以外を正しく扱えないということは、大いに考えられます。つまり編集の結果、ユーザの環境での「特殊文字」がなにかほかのものに置き換えられてしまったりする。表示上の文字化けよりも深刻です。 別回答になるほど内容がないのでコメントで。
raccy

2016/11/20 05:15

クリー文字やソランソンペン文字が文字実体参照に入っているのですか? それとも私の文章の表現がわかりにくかったのかな…。「文字実体参照に入っている文字の一部が欠けた」って意味だったんですが。
ikedas

2016/11/20 07:37

あら。「文字実体参照」を文字参照一般に読み替えて読んでました。すみません。 とはいえ、ファイナルシグマへの対応 (表示にかぎらない) が欠けた環境などは普通にあるからな。文字実体参照はなんらかのレパートリを規定しているわけではないので、あって当然なのですが。まあ完全に余談です。
yuji38kwmt

2016/12/03 17:30

詳しい説明ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問