[mew-dist 22541] Re: http://www.mew.org/release/info/ の文字化け

KURISU Tadashi kurisu at example.com
2002年 12月 11日 (水) 02:27:02 JST


自分でも時々悩むネタなので、少し調べてみました。

> From: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji at example.com>
> Subject: [mew-dist 22531] Re: http://www.mew.org/release/info/ の文字化け
> > charset がないので、iso-8859-1 として扱われるのは
> > 間違っていないです(RFC2616)。

rfc2616 の 3.7.1ですね。

                                           When no explicit charset
  parameter is provided by the sender, media subtypes of the "text"
  type are defined to have a default charset value of "ISO-8859-1" when
  received via HTTP. Data in character sets other than "ISO-8859-1" or
  its subsets MUST be labeled with an appropriate charset value.

On Tue, 10 Dec 2002 23:28:55 +0900 (JST),
    Kazu Yamamoto <kazu at example.com> (山本和彦) wrote:
> これは、HTTP/1.0 にも適応されるんですか?

HTTP/1.0 については、rfc1945 の 3.6.1 にも上記(rfc2616の3.7.1)と
同じような記述があります。よって、基本的には
  「Content-type には charset (正しく)をつけろ」
に従うべきなのでしょう。
ただ、HTTPヘッダの charset を自分で自由にできないという
場面はよくあるので、HTMLファイル中の Meta で charset を
指定せざるを得ないこともあります。

結局、私の場合、
  - 自分が管理している Web Server なら HTTP ヘッダに正しい
    charset を付けるよう設定する。Meta の charset は無くてよし!
  - 自由にならない Web Server にドキュメントを置くときは
    仕方が無いので、ドキュメントの Meta で charset を指定する。
  - でも、どこに置くかで Meta の charset を付ける/付けない を
    変えるのも面倒なので、全部のドキュメントに Meta をつけちゃう。
というということが多いです。

一番良くないのが、実際の charset と Metaタグで指定した charset と
HTTPヘッダの charset が矛盾してしまうというやつですね。
# httpd.conf で「AddDefaultCharset on」している状態だとよくはまる。
---
kurisu



Mew-dist メーリングリストの案内