下記の理由から、HTML文字参照の使い道はほとんどないと考えています。
この考えは合っているのでしょうか?
- HTMLの文字コードがUTF-8ならば、特殊文字はHTML文字参照を使わなくても、文字化けせずにブラウザ表示される。
- HTMLの推奨文字コードがUTF-8である現在、特殊文字のHTML文字参照は使う必要がない。むしろ分かりづらいので、使うべきでない。
- ただし、HTMLで特別な意味を持つ文字「< > " & '」は、HTML文字参照を使って表示してよい。
補足
特殊文字とは、丸つき数字やギリシャ文字、などを表しています。
http://rinrin.saiin.net/~aor/hms/cer#extend
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答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を使って指定することが主流なので、お目にかかることは少ないかも知れませんが。
###
さすがに
でHTMLのデザインを整形している人はもういないと思いますが、何かしらの事情で必要になるかも知れません。ノンブレークスペースはU+00A0に割り当てられていますので、UTF-8で表現は可能です。しかし、普通のスペースを見分けることができません。もし、こんなのが混ざったコードがあるとしたら…全角スペース以上につらいことになるかと思います。
HTML
1<p>a b</p> 2<p>a b</p>
等幅フォントのエディタなら二つは同じです。でも、ブラウザでHTMLとしてみると間隔が違うという目に遭います。
###特別な意味を持つ記号のエスケープ
実は'
の文字実体参照'
はHTML4には含まれていません(XMLとHTML5にはあります)。HTML4の時はこれだけ数値文字参照にするしかないのですが、必要になるのは属性値を''を囲った所のみなので、私は、属性値は必ず""で囲むとして、使わないようにしていました。これからもそうする予定ですので、私の中のオレオレコーディング規約では'
もその数値文字参照も使用禁止にしています。
<
と>
は必須として、"
は属性値の中以外はオレオレコーディング規約では禁止しています。&
はHTML5では曖昧な文字参照でならければエスケープの必要はありませんが、これまたオレオレコーディング規約では&
にしなければならないと定めています。URLであってもです。
なお、エスケープしない例外は組み込みの<scrpit>です。HTML5からは</script>が現れるまではJavaScriptとしてそのまま解釈されるとなったので、そのまま書いています。
あくまでオレオレ規約ですので、従う必要もありませんし、正しいのかはわかりません。最近は検証以外で生でそのままHTMLを書くことがほとんどありませんので、気にしていないというのが本音です。
投稿2016/11/20 03:28
総合スコア21735
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/20 04:55
2016/11/20 05:15
2016/11/20 07:37
2016/12/03 17:30
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。