diff -Nur --no-dereference smeserver-ezmlm-www-2.0.0.old/root/opt/mailinglist/ezmlm-www.pl smeserver-ezmlm-www-2.0.0/root/opt/mailinglist/ezmlm-www.pl --- smeserver-ezmlm-www-2.0.0.old/root/opt/mailinglist/ezmlm-www.pl 2022-03-19 15:51:35.558000000 -0400 +++ smeserver-ezmlm-www-2.0.0/root/opt/mailinglist/ezmlm-www.pl 2022-03-19 16:07:38.596000000 -0400 @@ -165,7 +165,8 @@ for (@MessageIDs) { print "
  • "; - printf '%s', $WebRequest{ListID}, $_, Encode::decode( 'utf-8', $Messages{$_}->{subject} ); + my $stri = ( Encode::is_utf8($Messages{$_}->{subject}) ) ? $Messages{$_}->{subject} : Encode::decode( 'utf-8', $Messages{$_}->{subject} ); + printf '%s', $WebRequest{ListID}, $_, $stri; print " ($Messages{$_}->{author})"; print "
  • \n"; } @@ -179,7 +180,8 @@ my $thread_info = $WebRequest{List}->{archive}->getthread( $thread->{id} ); $thread->{date} =~ s/\s-\d{4}$//; print "
  • \n"; - printf " %s (%s)
    \n", Encode::decode( 'utf-8', $thread_info->{subject} ), $thread->{date}; + my $stri = ( Encode::is_utf8($thread_info->{subject} ) )? $thread_info->{subject} : Encode::decode( 'utf-8', $thread_info->{subject} ) ; + printf " %s (%s)
    \n", $stri , $thread->{date}; print "