本ブログの更新は停止しています。更新は新しいサイトの Travellers Tales で行なっています。

Mail.app や Thunderbird 1.5 の日本語ファイル名が文字化けする件


Mail.app から Windows 環境の人に日本語の名前のファイルを添付して送ると、文字化けしてるとか、開けないとか言われることがあります (開けないのは、単に拡張子まで化けてしまっただけで、本当は開ける)。

Thunderbird 1.5 でもその問題が起こるようになった模様です (Focus of Interest 経由)。

これは、Mail.app や Thiderbird 1.5 の実装は RFC 的には正しいのですが、多くの Windows メーラが勝手な方法で日本語のファイル名を取扱っているのが原因です。でも、Outlook からしてそうなので、その迷惑な仕様が蔓延しているのも事実なんです。

Thunderbird 1.5 RC 1 では、Bug 193439 の修正に伴い、添付ファイル名を RFC 2231 に従って正しくエンコーディングするようになったようです。しかし、これにより、皮肉にもかえって文字化けが発生してしまうという事態が起こっています。

悲しいことですが、Outlook Express を始めとする、世間一般で普及している Windows のメーラには、RFC 2231 を理解できないものが少なくないのです。詳細は以下に譲ります。

MUAs for Windows - 「表3. 日本語処理」の解説
添付ファイルにおける日本語のファイル名に関して

実際に各メーラが日本語ファイル名をどう扱っているかが、以下にまとめられていますが、リストを見るとわかるように RFC 2231 対応は壊滅的です。(少し古いデータなようなので多少改善されているかもしれませんが)
MUAs for Windows - 表3. 日本語処理

RFC 2231 に対応していないメーラは、name フィールドに書かれたファイル名をデコードするようですが、上で紹介したサイトによると、これに MIME B encoding を使っているものが Windows メーラの8割だそうです。Thunderbird は検証していませんが、Mail.app は name フィールドは付けているものの (RFC 2231 非対応のメーラ向けの対応と思われる) MIME B でエンコードはしていないため、それを MIME B でデコードする Windows メーラ側で受け取るとファイル名が文字化けします。

name フィールドを MIME B エンコーディングするのは、RFC 的には正しくありませんが、Windows 用メーラ対策として現実的な対応ではあります。知っている範囲では、GyazMail はそのように対応しているようです。どうしても日本語のファイル名で送りたい場合は、こうしたメーラを使うのも手でしょう。

Apple Support Discussions にもこんなトピックがあります。

Apple Support Discussions - 添付書類の名前が文字化け


なお、Thunderbird を以前の振舞いに戻したい場合、Focus of Interest - Thuderbird 1.5RC1 によれば、
対処方法としては、user.jsに、

user_pref("mail.strictly_mime.parm_folding", 0);

の一行を追加すれば、1.0系と同じ形式に戻る。ちなみにdefaultでは2である。

とのこと。

2006年3月8日追記:
Thunderbird の日本語の添付ファイル名が文字化けするのは、単に RFC 2231 準拠の問題だけではないらしいです。どうも、Thunderbird 自身の RFC 2231 の実装にも誤りがあるよう。

[Å] 雑記ばらんによりますと、
Thunderbird が RFC 2231 の誤りに載ってる誤ったパターンで送る

その RFC 2231 の誤りが何かと言うと

Japanese Filename (添付ファイルにおける日本語のファイル名に関して) - RFC 2231 の誤り
しかし、この例では parameter の前に ";"(semicolon) が存在しない。明らかに、RFC 2045 の定義に反している。そのため、この例はこの RFC の著者の書き間違いであると思われる。
(中略)
追記(1999年10月7日):Winbiff でお馴染のオレンジソフトの日比野さんがこの RFC の著者に問い合わせたところ、やはり例の方が間違っているとのことでした。次の改訂では直すそうです。

しかも、この RFC 2231 の間違い、今現在も直ってないっぽい (というか 1997年以来改訂されていない?)。

とりあえず、誰か Bugzilla 報告して下さい (他力本願)。

Posted: 月 - 11月 14, 2005 at 02:10 AM               Hatena Bookmark



©