base64エンコードされたメールの文字化け

3,677 views
Skip to first unread message

すずき

unread,
Sep 19, 2014, 9:51:23 AM9/19/14
to mew...@googlegroups.com
はじめまして。葛飾の鈴木と申します。

mewは10年以上使わせていただいていますが、MLへの投稿は初めてになります。宜しくお願いいたします。
さて、本題ですが、最近gmailやyahooメールから送られてきているらしいメールが文字化けして困っています。
件のメールですが、ヘッダに
Content-Type: text/plain; charset=iso-2022-jp
Content-Transfer-Encoding: base64
とあり、本文はbase64エンコードされた文字列がシングルパートであるのみです。
ここで問題なのが、ヘッダではcharset=iso-2022-jpとなっているにもかかわらず、本文をbase64デコードして出てきたテキストはutf8になっていることです。
C-cC-lを押すことで正しく本文が表示はされるのですがサマリも本文の抜粋部分が文字化けするため表示が乱れてしまいます。
ちなみに、Content-Typeヘッダを削除すればサマリも含めて正しく表示はされるようになります。

どうみても送信側の問題だとは思うのですが、送信元が仕事のお客様でよくわからないみたいで困っています。
自分もgmailから送信してみたのですが、どうしても同じようなメールは再現できませんでした。

何か良い対策があれば教えてください。

宜しくお願いいたします。

Tatsuya Kinoshita

unread,
Sep 19, 2014, 9:26:32 PM9/19/14
to mew...@googlegroups.com
On September 19, 2014 at 6:51AM -0700, zensyo.inetd (at gmail.com) wrote:
> ここで問題なのが、ヘッダではcharset=iso-2022-jpとなっているにもかかわらず、本文をbase64デコードして出てきたテキストはutf8になっていることです。
> C-cC-lを押すことで正しく本文が表示はされるのですがサマリも本文の抜粋部分が文字化けするため表示が乱れてしまいます。
> [...]
> 何か良い対策があれば教えてください。

本文はmew-decode-charset-conv、Summaryはmew-scan-bodyに手を加えて、
文字化けらしき状態なら自動判定でデコードしてみてはどうでしょうか。

```
(defadvice mew-decode-charset-conv (after with-autoconv activate)
(goto-char beg)
(when (re-search-forward "[^[:print:]\n\t]" nil t)
(mew-decode-warning-body 'no-charset charset)
(mew-cs-decode-region beg (point-max) mew-cs-autoconv)))

(defadvice mew-scan-body (after with-autoconv (mew-vec &optional draftp) activate)
(setq mew-vec (ad-get-arg 0))
(setq body (aref mew-vec (1- (length mew-vec))))
(when body
(setq body (mew-replace-white-space body))
(when (string-match "[^[:print:]]" body)
(setq body (mew-cs-decode-string body mew-cs-autoconv)))
(aset mew-vec (1- (length mew-vec)) body)
(ad-set-arg 0 mew-vec)))
```

--
木下達也

すずき

unread,
Sep 19, 2014, 11:08:04 PM9/19/14
to mew...@googlegroups.com, ta...@vega.ocn.ne.jp
鈴木@葛飾区です。

木下さん、はじめまして。
.emacsに追加してみたところ文字化け解消しました。ありがとうございました!
いろいろネットを検索してみても同様の事例というのは昔のOutlook Expressの事例しかなくて、特殊事例なのかなぁ??と思い、ここにたどり着きましたが、解決できて良かった!
Reply all
Reply to author
Forward
0 new messages