[mew-dist 19457] Re: text/html without charset specification
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2001年 10月 23日 (火) 17:20:31 JST
From: KIUCHI Hirohiko <kiuchi at example.com> さん曰く
Subject: [mew-dist 19455] Re: text/html without charset specification
Message-ID: <20011023.155935.01364556.kiuchi at example.com>
Date: Tue, 23 Oct 2001 15:59:35 +0900 (JST)
> > From: Hideyuki SHIRAI (白井秀行) <shirai at example.com>
> > Date: Tue, 23 Oct 2001 14:08:44 +0900 (JST)
> >
> > の値を使うのはよろしくないと思います。regex 部分は emacs-w3m か
> > らの抜き書きなのですが、こんな感じで OK かしら。
ちなみに、ぼくのパッチを使うと、
(1) html が <meta + content-type + charset> を持っていたら、その
charset から導かれる coding-system でセーブする。
(2) mime の content-type で charset が指定されていたら、その
charset から導かれる coding-system でセーブする。
(3) (1), (2) が指定されていないときは、charset を guess する。そ
の結果、通常の日本語の場合、保存する coding-system は
iso-2022-jp となる。
というプライオリティで charset と coding-system を決定するように
なります。
> Win2K/2.0.51 の環境でパッチを当てて、件の HTML を表示してみました。
> 今度は JIS に変換されてしまいます。
この場合は (3) になっているのだと思います。
> の指定はありません。META での指定がないとはいえ、EUC を選んで送って
> きたものは EUC で扱いたい気がします。
これは(簡単には)無理でしょう。EUC かどうかの判定するのには生のバ
イトデータとして扱わなければならないですから。
## guess したときは
## (read-coding-system "Coding-system :" guessの結果) は、答える
## のが面倒くさいし。
> ところで、パッチを当てる前に FreeBSD 4.3-REL/2.0.60 でもう少し試して
> みたのですが、パートのヘッダで charset=us-ascii を指定すると、JIS
> に変換されます。このことから、[mew-dist 19432] で私が「charset 指定
> がなく us-ascii と判断したとき」という書き方をしたのは間違いで、
> charset=us-ascii と 無指定は振る舞いがわかれていることになります。
もし、mime の content-type で charset=us-ascii と指定された場合
は、パッチ前でもパッチ後でも coding-system の指定が nil となりま
す。そのため、保存するときは、その Emacs の
default-coding-system が使われると思います。
# ご参考: (mew-charset-to-cs "us-ascii") => nil
charset が無い場合はパッチ前は mew-cs-text-for-write が使われ、
パッチ後は guess した結果が使われます。で、mew-cs-text-for-write
だと emacs-mule になってしまったという。
> 白井さんのパッチでは、これを統合したのでしょうか。
統合というか、挙動を変えた、という感じかしらん。
--
白井秀行 (mailto:shirai at example.com)
Mew-dist メーリングリストの案内