[Mimedefang] Wrong charachters
Steffen Kaiser
skmimedefang at smail.inf.fh-bonn-rhein-sieg.de
Thu Mar 8 03:44:06 EST 2012
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Mon, 5 Mar 2012, Gustavo Henrique Vieira wrote:
> Everything works fine, but the warning text shows wrong characters.
> My OS language is pt_BR.UTF-8 and the erros are in 'ç' 'á' for
> example, but inside 'warning1.txt' file everything is correct.
e.g. action_replace_with_warning() builds a new MIME::Entity of type
"text/plain", but without character set. That leaves it to the MUA to pick
a matching one. Was it Latin1 in time ago, many MUAs fall back to UTF8
nowadays, I think.
For testing purpose, you could add a Charset => "iso-8859-15" there.
However, to be "save", you would need to ensure the encoding (Perl term
for character set) of the text,
$ReplacementEntity = MIME::Entity->build(
Type => "text/plain",
Encoding => "-suggest",
Charset => "iso-8859-15",
Data => [ Encode::encode("iso-8859-15", "$msg\n", Encode::FB_QUIET) ]
);
Or use UTF8:
$ReplacementEntity = MIME::Entity->build(
Type => "text/plain",
Encoding => "-suggest",
Charset => "UTF-8",
Data => [ Encode::encode_utf8("$msg\n", Encode::FB_QUIET) ]
);
Currently, I collect all warnings and infos in an ARRAY and add a Warning
part as 2nd part in filter_end(). In this process I make sure that I
Encode::decode anything to Perl-internal UTF8 first, then I create an UTF8
part.
Kind regards,
- --
Steffen Kaiser
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iQEVAwUBT1hxVv41+pMevzVSAQJopAf/ThmDYOyJySm+FTXlfeHq2H5mNgmAcEn/
acewUg4jRKYj+Vs7o9XiVqaLZyhp1BSrDNrBY4OnLRcAlcQ0qJBTxK7VDxuROxel
7gA7CeQgdMT/ZdEXA5/NmjEl6bxk6tOUuoFGtkwy0mM0TLi9e8DVwPt5bvISrpOF
Pj644h/jeVVIDaKbTLxG1SsDfZkerD2Y0LDtHoSFJ7HLS9zGRbdBritCR/ELg/LW
CKJ760gX3pyrjgfajiVDjcXHaveWLxpdf51470TcqJZ1/NooMLT5Iv4nlyJIO3lc
RVAo/1QwG9NPLzqj0SArLfUujt7uDlfe2c5vzxEYj0i+2fhbdtZlYA==
=BxjS
-----END PGP SIGNATURE-----
More information about the MIMEDefang
mailing list