file-name: 日本語ファイル名での添付
Shinichiro HIDA
shinichiro @ stained-g.net
2003年 2月 7日 (金) 15:32:33 JST
飛田です。
XEmacs 21.4.12 (deb)
Wanderlust 2.11.1 (source)
apel 10.4 (source)
flim 1.14.5 (source)
semi 1.14.4 (source)
な環境です。(他の Emacs21, XEmacs21.5-b10 でもほぼ同様の結果になります。)
別件でテストしていて、日本語のファイル名をもつファイルを添付した場合、
MIME ヘッダのfilename= までエンコードされてしまいおかしな事になるよう
だという事に気がつきました。
;; 普段、自分では日本語ファイル名を使わないので、気がつきませんでした。
ファイルは、 Samba (Debian Woody) の共有上にあり、Samba 側の設定は、
coding system = EUC
client code page = 932
になっています。
ファイルは、
ファイル名 : テスト-euc.txt
本文文字コード : Shift_JIS-dos
で、Windows 2000 のエクスプローラから問題なく見る事ができ、メモ帳で正
常に開く事が出来ます。
また、Samba サーバー上で、共有されているディレクトリを rxvt、kterm 上
から ls や dir しても正常にファイル名を読む事ができます。
同じ ディレクトリを NFS マウントしている別のマシン (Debian sid) からで
も同様に正常に ls, dir, 編集出来ます。
また、GNU Emacs21.2.2 (deb)、及び、XEmacs 21.4.12 (deb) の dired から
も読み込めて、正常に開く事が出来ます。
このファイルを Wanderlust で添付すると、次のような MIME ヘッダとなり、
Bcc 等、自分で受信した時(送信時と同じ環境)でも filename が欠落するよう
です。
;; 自分の ~/Mail/queue に入った時点でも配送後でも同じです。
Content-Type: text/plain; charset=SHIFT_JIS
Content-Disposition: inline; =?ISO-2022-JP?B?ZmlsZW5hbWU9IhskQiVGJTkbKEI=?=
=?ISO-2022-JP?B?GyRCJUgbKEItZXVjLnR4dCI=?=
Content-Transfer-Encoding: base64
上記部分は、本来、ドラフト作成の時点では、
[[text/plain; charset=SHIFT_JIS
Content-Disposition: inline; filename="テスト-euc.txt" ][base64]]
と指定しています(面倒なので、補完してます)が、どうもこれが filename=
の部分まで含めてエンコードされてしまうようです。
RFC とか詳しくないので、良く分からないのですが、filename= の部分をエン
コードしないようにすると良いような気がしますが..
--
Shinichiro HIDA mailto:shinichiro @ stained-g.net
GPG fingerprint = 5F2D 1656 FFF6 F691 A51C 5E61 E416 D398 470C 1CE9
More information about the Emacs-mime-ja
mailing list