diff -uNr mutt-1.5.21.orig/PATCHES mutt-1.5.21/PATCHES
--- mutt-1.5.21.orig/PATCHES	2010-11-08 09:44:31.692997710 +0900
+++ mutt-1.5.21/PATCHES	2010-11-11 20:05:02.552940908 +0900
@@ -0,0 +1 @@
+patch-1.5.21.tt.create_rfc2047_params.1
diff -uNr mutt-1.5.21.orig/init.h mutt-1.5.21/init.h
--- mutt-1.5.21.orig/init.h	2010-11-08 09:44:31.552997939 +0900
+++ mutt-1.5.21/init.h	2010-11-11 20:05:02.552940908 +0900
@@ -556,6 +556,17 @@
   ** If \fI``no''\fP, never attempt to verify cryptographic signatures.
   ** (Crypto only)
   */
+  { "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 -uNr mutt-1.5.21.orig/mutt.h mutt-1.5.21/mutt.h
--- mutt-1.5.21.orig/mutt.h	2010-11-08 09:44:31.532998225 +0900
+++ mutt-1.5.21/mutt.h	2010-11-11 20:05:02.552940908 +0900
@@ -343,6 +343,7 @@
   OPTFORCENAME,
   OPTFORWDECODE,
   OPTFORWQUOTE,
+  OPTCREATERFC2047PARAMS,
 #ifdef USE_HCACHE
   OPTHCACHEVERIFY,
 #if defined(HAVE_QDBM) || defined(HAVE_TC)
diff -uNr mutt-1.5.21.orig/sendlib.c mutt-1.5.21/sendlib.c
--- mutt-1.5.21.orig/sendlib.c	2010-11-08 09:44:31.702997928 +0900
+++ mutt-1.5.21/sendlib.c	2010-11-11 20:04:34.000000000 +0900
@@ -348,6 +348,30 @@
     }
   }
 
+  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;
+
+      buffer[0] = 0;
+      tmp = safe_strdup (t);
+      rfc2047_encode_string (&tmp);
+      rfc822_cat (buffer, sizeof (buffer), tmp, MimeSpecials);
+      FREE (&tmp);
+      fprintf (f, ";\n\tname=%s", buffer);
+    }
+  }
+
   fputc ('\n', f);
 
   if (a->description)
