japanese file name
NAKAJI Hiroyuki
nakaji @ tutrp.tut.ac.jp
2004年 2月 9日 (月) 13:43:22 JST
中治@豊橋です。
日本語ファイル名なファイルの取扱について。
http://www.bookshelf.jp/soft/meadow_54.html
を参考にして、
;;日本語の添付ファイル名を正しく表示
;;これがないと化けます.
(defvar my-mime-filename-coding-system-for-decode
'(iso-2022-jp japanese-shift-jis japanese-iso-8bit))
(defun my-mime-decode-filename (filename)
(let ((rest (eword-decode-string filename)))
(or (when (and my-mime-filename-coding-system-for-decode
(string= rest filename))
(let ((dcs (mapcar (function coding-system-base)
(detect-coding-string filename))))
(unless (memq 'emacs-mule dcs)
(let ((pcs my-mime-filename-coding-system-for-decode))
(while pcs
(if (memq (coding-system-base (car pcs)) dcs)
(setq rest (decode-coding-string filename (car pcs))
pcs nil)
(setq pcs (cdr pcs))))))))
rest)))
(eval-after-load "mime"
'(defadvice mime-entity-filename (after eword-decode-for-broken-MUA activate)
"Decode encoded file name for BROKEN MUA."
(when (stringp ad-return-value)
(setq ad-return-value (my-mime-decode-filename ad-return-value)))))
というのを ~/.emacs に追加したところ、*Article* バッファでは日本語ファ
イル名が表示されてうれしいのですが、少し欲が出てきました。
Samba で Windows にファイル共有をしているのですが、過去とのしがらみで
coding system = cap にしているため、上記の設定では T-gnus で v e した
ときに「日本語ファイル名」に保存されると、これは Windows から見たとき
にファイル名が化ける、ということになります。なんで、Windows でそのファ
イルを扱わなきゃいけないかというと、そういうファイルは、たいてい
Windows でしか扱えないことになっているからです。:-(
つまり、記事を読んでいるときには「日本語ファイル名」と見えて、保存する
ときは「:93:fa:96{:8c:ea:83t:83@:83C:83:8b:96:bc」というファイル名にし
たいというぜいたくな話です。
Samba-ja に附属の capecho というスクリプトを通すと変換はできるので、
T-gnus や FLIM/SEMI といっしょに使えばなんとかならんものかなぁというこ
となんですが、自分じゃよくわからんのです。
どうやればよいですか?
--
NAKAJI Hiroyuki (中治 弘行)
More information about the Emacs-mime-ja
mailing list