diff -r 866bd2cf764b -r 7d4f2e4899c5 mercurial/mail.py --- a/mercurial/mail.py Thu Oct 24 14:31:24 2019 +0200 +++ b/mercurial/mail.py Thu Oct 24 17:16:43 2019 +0200 @@ -362,13 +362,13 @@ 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) - name = headencode(ui, name, charsets) + name = encoding.strfromlocal(headencode(ui, name, charsets)) try: acc, dom = addr.split(b'@') acc.decode('ascii')