HTMLで特殊文字を記述するための符号。
ISO/IEC 10646(Unicode)の文字コード位置を指定する方法(数値文字参照)と、DTDで宣言された名前で指定する方法(文字実体参照)がある。
「<」「>」「"」「'」はHTMLやXMLを記述する際に使用する記号のため、web上で表示するにはエラー回避のためにそれぞれ「<
」「>
」「"
」「'
」と文字参照で記述することが推奨されている((文字参照で「&」を使用するため、必然的に「&」も「&
」と記述))。
ブラウザのバージョンによって「è(アクセント付きのe)」「ë(ウムラウト付きのe)」「®(登録商標マーク)」「Δ(ギリシャ文字のデルタ)」「√(数学のルート記号)」「♥(ハート)」といった文字の表記が可能。
また、XMLでは数値文字参照については HTML4 と同様に利用できるが、文字実体参照(に相当する実体参照)はあらかじめ決められている「<
」「>
」「&
」「"
」「'
」のみである。このため、自分で定義するあるいは定義したファイルを文書内で読み込まない限り、HTMLで定義されているような© (©)などのシンボルをそのまま使うとエラーとなってしまう。
i-modeの絵文字は文字参照でも記述できる*1が、i-modeは絵文字および「<」「>」「"」「'」以外の文字参照には未対応。
最近のブラウザでは「内田百閒(間)」や「澁澤龍彥(彦)」といったJIS第3・第4水準の文字もUnicodeに配置されていれば文字参照を用いることで表示が可能。
ただし、携帯など未対応ブラウザからのアクセスを考慮すると現状での多用は避けるべき。正字を示す程度に留めるのが妥当だろう。
*1:16進数の数値文字参照を推奨