[Mutt-j-users 71] Re: 文字化け(原因判明)

Back to archive index

TAKIZAWA Takashi taki****@cyber*****
2005年 9月 14日 (水) 00:17:07 JST


滝澤です。

根本原因がわかりました。
っていうか犯人は私だ orz
ごめんなさい。

1.5.8へのjaパッチから charset=euc-jp の決めうちをやめています。
Muttの本来の動きに合わせてロカールの設定から文字エンコーディング
の情報を取得しています。
文字エンコーディングの取得ができないときに限り charset=euc-jp に
設定されます。(--default-japanese の指定付きでconfigureした場合)

charset.c に PreferredMIMENames[] で文字エンコーディングのエイリアス
の変換テーブルがあるのですが、日本語に関係のあるのは次のものだけです。
  { "MS_Kanji",         "Shift_JIS"     }, /* Note the underscore! */
  { "csShiftJis",       "Shift_JIS"     },
  { "Extended_UNIX_Code_Packed_Format_for_Japanese",
                        "EUC-JP"        },
  { "csEUCPkdFmtJapanese",
                        "EUC-JP"        },
  { "eucJP",            "euc-jp"        },
  { "PCK",              "Shift_JIS"     },
  { "sjis",             "Shift_JIS"     },
  { "euc-jp-ms",        "eucJP-ms"      },

ということなので、

On Mon, Sep 12, 2005 at 03:23:42PM +0900,
 oota****@mail***** wrote:

> 違うところは環境変数LANG?(私の所ではメッセージが日本語化してますね)
>
> teratermの端末IDはVT100です。
> LANGはLANG=ja_JP.EUC
> TERMはvt100
> です。

の場合はエイリアスのテーブルに存在しないため、そのまま使われて charset=EUC 
と設定されてしまいます。

解決方法としては LANG の値を ja_JP.eucJP に設定すればうまくいくかもしれま
せん。
昔のFreeBSDは ja_JP.EUC のようでしたが、最近のものは ja_JP.eucJP が使える
ようですし。どうなんでしょうか?  詳しい方
どこかに *BSD 方面の ja_JP ロカールの変遷が書いてある資料ってあるのでしょ
うか?

Muttのcharset.c に EUC を登録する方法もありますが、ko方面も ko_KR.EUC って
のがあるので、EUC だけだと euc-kr なのか euc-jp なのかわからないって問題が
あります。

On Tue, Sep 13, 2005 at 10:31:26PM +0900,
 ribbongw master wrote:

> > set charset="euc-jp"
> 
> 原因が分かりました。↑を付加すると治りました。

ロカールの文字エンコーディングが EUC しか使えない場合はおおたさんの
解決方法のように charset=euc-jp を指定するしかありません。

さて、jaパッチとしてはどうしたらよいのでしょうかね。
エイリアスとしてEUCを追加するのもありかとは思います。

-- 
TAKIZAWA Takashi(滝澤 隆史)
http://www.emaillab.org/




Mutt-j-users メーリングリストの案内
Back to archive index