Thank you for your better fix. The fix in #10 also works fine for my environment, except a small issue that it always encodes non-ascii to UTF-8 even if sender's preferred language is same as list's but its encoding is not UTF-8.
A test case.
list's language : fr (iso-8859-1)
sender's language : fr (iso-8859-1)
sender's display name : =?iso-8859-1?q?G=E9n=E9rales?=
(results)
From: =?utf-8?q?G=C3=A9n=C3=A9rales_via_Mailman-test?= <...>
Another case.
list's language : ja (euc-jp, out going messages are encoded to iso-2022-jp)
sender's language : ja (euc-jp, out going messages are encoded to iso-2022-jp)
sender's display name : =?ISO-2022-JP?B?GyRCRnNMWkx3P04bKEI=?=
(results)
From: =?utf-8?b?5LqM5pyo6Z2W5LuBIChNYWlsbWFuLXRlc3Qg57WM55SxKQ==?= <...>
It seems to be no problem for almost all MUAs nowadays except some l10n MUAs (and those MUAs will treat such encoded strings as raw ascii string, as discribed in RFC, so I think the problem is small).
Thank you for your better fix. The fix in #10 also works fine for my environment, except a small issue that it always encodes non-ascii to UTF-8 even if sender's preferred language is same as list's but its encoding is not UTF-8.
A test case. 1?q?G=E9n= E9rales? = q?G=C3= A9n=C3= A9rales_ via_Mailman- test?= <...>
list's language : fr (iso-8859-1)
sender's language : fr (iso-8859-1)
sender's display name : =?iso-8859-
(results)
From: =?utf-8?
Another case. JP?B?GyRCRnNMWk x3P04bKEI= ?= b?5LqM5pyo6Z2W5 LuBIChNYWlsbWFu LXRlc3Qg57WM55S xKQ==?= <...>
list's language : ja (euc-jp, out going messages are encoded to iso-2022-jp)
sender's language : ja (euc-jp, out going messages are encoded to iso-2022-jp)
sender's display name : =?ISO-2022-
(results)
From: =?utf-8?
It seems to be no problem for almost all MUAs nowadays except some l10n MUAs (and those MUAs will treat such encoded strings as raw ascii string, as discribed in RFC, so I think the problem is small).