diff -urN mutt-1.5.19.old/PATCHES mutt-1.5.19/PATCHES
--- mutt-1.5.19.old/PATCHES	2008-03-20 05:07:06.000000000 +0900
+++ mutt-1.5.19/PATCHES	2009-02-05 11:50:22.000000000 +0900
@@ -0,0 +1 @@
+mutt-1.5.19-create_rfc2047_params
diff -urN mutt-1.5.19.old/init.h mutt-1.5.19/init.h
--- mutt-1.5.19.old/init.h	2009-01-06 04:20:53.000000000 +0900
+++ mutt-1.5.19/init.h	2009-02-05 11:48:29.000000000 +0900
@@ -459,6 +459,17 @@
   ** $$crypt_replyencrypt,
   ** $$crypt_autosign, $$crypt_replysign and $$smime_is_default.
   */
+  { "create_rfc2047_parameters", DT_BOOL, R_NONE, OPTCREATERFC2047PARAMS, 0 },
+  /*
+  ** .pp
+  ** When this variable is set, Mutt will add the following RFC-2047-encoded
+  ** MIME parameter to Content-Type header field as filename for attachment:
+  ** name="=?iso-2022-jp?B?GyRCO244MxsoQi50eHQ=?="
+  ** .pp
+  ** Note: this use of RFC 2047's encoding is explicitly prohibited
+  ** by the standard. You may set this variable only if a mailer
+  ** of recipients can not parse RFC 2231 parameters.
+  */
   { "date_format",	DT_STR,	 R_BOTH, UL &DateFmt, UL "!%a, %b %d, %Y at %I:%M:%S%p %Z" },
   /*
   ** .pp
diff -urN mutt-1.5.19.old/mutt.h mutt-1.5.19/mutt.h
--- mutt-1.5.19.old/mutt.h	2008-09-26 07:00:03.000000000 +0900
+++ mutt-1.5.19/mutt.h	2009-02-05 11:48:29.000000000 +0900
@@ -324,6 +324,7 @@
   OPTCOLLAPSEUNREAD,
   OPTCONFIRMAPPEND,
   OPTCONFIRMCREATE,
+  OPTCREATERFC2047PARAMS,
   OPTDELETEUNTAG,
   OPTDIGESTCOLLAPSE,
   OPTDUPTHREADS,
diff -urN mutt-1.5.19.old/sendlib.c mutt-1.5.19/sendlib.c
--- mutt-1.5.19.old/sendlib.c	2009-01-04 08:27:11.000000000 +0900
+++ mutt-1.5.19/sendlib.c	2009-02-05 11:48:29.000000000 +0900
@@ -349,6 +349,33 @@
     }
   }
 
+  if (a->use_disp && option (OPTCREATERFC2047PARAMS))
+  {
+    if(!(fn = a->d_filename))
+      fn = a->filename;
+
+    if (fn)
+    {
+      char *tmp;
+
+      /* Strip off the leading path... */
+      if ((t = strrchr (fn, '/')))
+	t++;
+      else
+        t = fn;
+
+      /* length of content-type */
+      len = 21 + mutt_strlen (TYPE (a)) + mutt_strlen (a->subtype);
+
+      buffer[0] = 0;
+      tmp = safe_strdup (t);
+      _rfc2047_encode_string (&tmp, 0, len);
+      rfc822_cat (buffer, sizeof (buffer), tmp, MimeSpecials);
+      FREE (&tmp);
+      fprintf (f, "; name=%s", buffer);
+    }
+  }
+
   fputc ('\n', f);
 
   if (a->description)
