[mew-dist 22557] HTML, HTTP における charset (Re: [mew-dist 22544] Re: http://www.mew.org/release/info/ の文字化け)
KURISU Tadashi
kurisu at example.com
2002年 12月 11日 (水) 12:22:44 JST
On Wed, 11 Dec 2002 10:06:30 +0900 (JST),
Kazu Yamamoto <kazu at example.com> (山本和彦) wrote:
> From: KURISU Tadashi <kurisu at example.com>
> > 一番良くないのが、実際の charset と Metaタグで指定した charset と
> > HTTPヘッダの charset が矛盾してしまうというやつですね。
>
> これに関して考察してある RFC などはありますか?
http://www.w3.org/TR/html401/charset.html#h-5.2.2 に
こんなことが書いてあります(超訳&抜粋なので正確には原文を参照してください)。
RFC2616には「HTTPヘッダのContent-type に Charset が無い場合は
ISO-8859-1 をデフォルト値とするように」とあるが、
User Agent は charset にデフォルト値を仮定すべきではない。
User Agent は次の順序で charset を決定すべきである。
1. An HTTP "charset" parameter in a "Content-Type" field.
2. A META declaration with "http-equiv" set to "Content-Type"
and a value set for "charset".
3. The charset attribute set on an element that designates
an external resource.
上記に加えて、ヒューリスティックやユーザーによる設定値を用いてもよい。
http-equiv の charset は、ASCII文字集合をASCIIコードのバイト値で
表現する charset encoding でのみ用いられなければならない。
# ということは、utf8でかかれた (x)html では http-equiv に頼れない
# ということか…
> P.S.
>
> ある値に対し、指定の仕方が 2 通りあり、両者が矛盾した際の取り扱いが規
> 定されていないと、それは仕様のバグだと言われます。
HTTPでHTMLをやりとりする際のW3C的な推奨値はあるけれども、
従っていない User Agent が幅をきかせちゃっているんですね。
---
kurisu
Mew-dist メーリングリストの案内