diff --git a/mercurial/mail.py b/mercurial/mail.py
index 866bd2cf764b58f706e91c117b11e6ffb3ff8cbb_bWVyY3VyaWFsL21haWwucHk=..7d4f2e4899c5f15b38be12bc58a51512f8cd5f5b_bWVyY3VyaWFsL21haWwucHk= 100644
--- a/mercurial/mail.py
+++ b/mercurial/mail.py
@@ -362,9 +362,9 @@
     if not display:
         # split into words?
         s, cs = _encode(ui, s, charsets)
-        return str(email.header.Header(s, cs))
+        return encoding.strtolocal(email.header.Header(s, cs).encode())
     return s
 
 
 def _addressencode(ui, name, addr, charsets=None):
     assert isinstance(addr, bytes)
@@ -366,9 +366,9 @@
     return s
 
 
 def _addressencode(ui, name, addr, charsets=None):
     assert isinstance(addr, bytes)
-    name = headencode(ui, name, charsets)
+    name = encoding.strfromlocal(headencode(ui, name, charsets))
     try:
         acc, dom = addr.split(b'@')
         acc.decode('ascii')
diff --git a/tests/test-patchbomb.t b/tests/test-patchbomb.t
index 866bd2cf764b58f706e91c117b11e6ffb3ff8cbb_dGVzdHMvdGVzdC1wYXRjaGJvbWIudA==..7d4f2e4899c5f15b38be12bc58a51512f8cd5f5b_dGVzdHMvdGVzdC1wYXRjaGJvbWIudA== 100644
--- a/tests/test-patchbomb.t
+++ b/tests/test-patchbomb.t
@@ -512,7 +512,8 @@
   X-Mercurial-Series-Id: <909a00e13e9d78b575ae.240@test-hostname>
   User-Agent: Mercurial-patchbomb/* (glob)
   Date: Thu, 01 Jan 1970 00:04:00 +0000
-  From: Q <quux>
+  From: Q <quux> (no-py3 !)
+  From: =?iso-8859-1?q?Q?= <quux> (py3 !)
   To: foo
   Cc: bar
   
@@ -2397,9 +2398,12 @@
   User-Agent: Mercurial-patchbomb/* (glob)
   Date: Tue, 01 Jan 1980 00:01:00 +0000
   From: quux
-  To: spam <spam>, eggs, toast
-  Cc: foo, bar@example.com, "A, B <>" <a@example.com>
-  Bcc: "Quux, A." <quux>
+  To: spam <spam>, eggs, toast (no-py3 !)
+  Cc: foo, bar@example.com, "A, B <>" <a@example.com> (no-py3 !)
+  Bcc: "Quux, A." <quux> (no-py3 !)
+  To: =?iso-8859-1?q?spam?= <spam>, eggs, toast (py3 !)
+  Cc: foo, bar@example.com, =?iso-8859-1?q?A=2C_B_=3C=3E?= <a@example.com> (py3 !)
+  Bcc: =?iso-8859-1?q?Quux=2C_A=2E?= <quux> (py3 !)
   
   # HG changeset patch
   # User test