At 12:02 AM 2001/03/08 -0600, gary pickens wrote:
>Hello,
>
>On some of my archive lists I am getting the following text:
>
> =?iso-8859-1?Q?Enrique_De_La_Pe=F1a_and_Jos=E9_Urrea's_Diaries?=
Hi Gary,
Accented characters in the Subject and From: headers get MIME-encoded. If
you see ?Q?, it's quoted-printable encoding while ?B? indicates base64
encoding. Either way, you need to decode. List archive tools such as
Mhonarc handle this. The following script is an example of how to decode
the Subject: using Perl. Perhaps the Mailman volunteer coders can work the
same kind of thing (a la Python) into the next major release.
---------------------------------------------------------------------------------
#! /usr/bin/perl
use MIME::Base64 ();
use MIME::QuotedPrint();
if (defined($fields{'subject'}) and $fields{'subject'} =~ /\S/) {
($sub = $fields{'subject'}) =~ s/\s+$//;
$sub = subject_strip($sub) if $SubStripCode;
## Multiline Base64 encoded Subject
my @encoded;
my $line;
if($sub =~ /=\?[A-Za-z0-9\-]*\?[Bb]\?[A-Za-z0-9+\/=]*\?=/ ){
@encoded = (split(/\?=/, $sub));
$sub = "";
for($line = 0; $line < scalar(@encoded); $line++){
$sub .= MIME::Base64::decode((split(/\?/,$encoded[$line]))[3]);
}
}
## Multiline QuotedPrintable encoded Subject
if($sub =~ /=\?[A-Za-z0-9\-]*\?[Qq]\?[:ascii:]*\?=/){
@encoded = (split(/\?=/, $sub));
$sub = "";
for($line = 0; $line <scalar(@encoded); $line++){
$sub .= MIME::Base64::decode((split(/\?/,$encoded[$line]))[3]);
}
}
} else {
$sub = 'No Subject';
}
-----------------------------------------------------
Cheers,
Kevin
------------------------------------------------------
Mailman-Users maillist - [EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/mailman-users